WEB/javaScript

[javaScript/공부] 연산자

ijooha 2024. 12. 13. 18:00

       용어 정리 

피연산자(operand)

연산을 수행하는 대상, 인수(argument)라고 불리기도 한다.

5*2라는 식이 있을 때 5와 2

단항(unary), 이항(binary)

피연산자의 개수에 따라, 한개면 단항 두개는 이항이라고 부른다.

 

 


       기본 연산자 

기본적인 덧셈, 뺄셈, 곱셈, 나눗셈이 있고

% 나머지 연산자

** 거듭제곱 연산자

가 있다.

 

덧셈 연산자(+)로 숫자 뿐 아니라 문자열을 병합할 수도 있다.

"hello" + "world" //"helloworld"

 

이때 문자형인 경우 숫자여도 문자형으로 병합이 된다. 👇👇👇

"2" + 2 //22
"hello" + 2 + 2 //"hello4"

 

덧셈 연산자(+)는 Number()와 동일한 일도 할 수 있다.

Number() 대신 앞에 +를 붙여주면 숫자형으로 변환한다. (단항 덧셈이 이항 덧셈보다 우선순위이기 때문)

let apple = "2";
let orange = "2";

apple + orange; //22
+apple + +orange; //5

 

복합 할당 연산자 += -= /= *=

+= -= /= *=

변수의 값을 간단히 바꾸는 방법

let n = 1;

n += 10; //11
n -= 1; //10
n /= 2; //5
n *= 3; //15

 

증가/감소 연산자 ++ --

1을 늘리거나 줄일 때 사용

n++

n--

++n

--n

//변화시킨 값을 바로 사용하려면 전위형 연산자
++n; //n+1

//값을 변화시킨 후 그 전 값을 사용하려면 후위형 연산자
n++; //n
n; //n+1

 

비트 연산자 & | ^ ~

& and
| or
^ xor
~ not
<< (left shift)  
>> (right shift)  
>>> (zero-fill right shift  

잘 쓰이지 않는다. 있다는 것만 기억

 

쉼표 연산자 ,

짧게 줄이는 용도로 사용 (잘 사용하지 않음)

마지막 표현식의 결과만 반환됨

우선순위 낮음 (=보다 낮음)

a = 1+2, 3+4; //a = 3, 7 > 쉼표가 더 낮은 순위이기 때문
a = (1+2, 3+4); //a = 7

//이럴 때 사용
for (a=1, b=3, c=a*b; a<10; a++) {}

 

 


       비교 연산자 

참, 거짓으로 반환

값의 자료형이 다르면 숫자형으로 바꾸어 비교

>= 크거나 같다
<= 작거나 같다
== 참 ('string'과 숫자 구분이 없이 비교)
=== 참 (strict하게 비교)
!== 거짓 ('string'과 숫자 구분이 없이 비교)
!=== 거짓 (strict하게 비교)

여기서 'string'은 문자열을 의미하는데,

==는 숫자가 일치하는지만 확인하고,

===는 data type까지 확인한다. (더 엄격)

예를 들어

'1' == 1 는

'1' === 1 는 거짓

이 된다.

0 == false; //true
0 === false; //false

 

문자열 비교

'z' > 'Z' > 'A'

소문자가 대문자보다 크고 z가 a보다 크다.

 

null, undefined

//null과 undefined는 짝꿍임
null == undnefined; //true
null >= 0; //true > null을 숫자형으로 변환하여 0으로 바꾸기 때문

//위 두 경우 제외하곤 null, undefined 비교는 모두 false
null === undefined; //false
null > 0; //false
null == 0; //false
undefined > 0; //false
undefined < 0; //fasle
undefined == 0; //false

 

 

       논리 연산자 

&& 그리고 (and), 첫번째 falsy를 반환
|| 아니면 (or), 첫번째 truthy를 반환
! 아닌 (not)