모든 연산자는 값을 반환한다.
피연산자란 연산자가 연산을 수행하는 대상.
피연산자(operand) = 인수(argument)
2*5 에서 2, 5는 피연산자.
* 피연산자 하나를 받는 연산자 : 단항 연산자 (a = -a)
* 피연산자 둘을 받는 연산자 : 이항 연산자 (a - b)
하나의 표현식에 둘 이상의 연산자가 있는 경우, 실행순서는 우선순위에 의해 결정된다.
덧셈 연산자 +
뺄셈 연산자 -
곱셈 연산자 *
나눗셈 연산자 /
나머지 연산자 %
거듭제곱 연산자 **
단, 두개의 숫자 뒤에 문자열이 오는 경우에는 숫자가 먼저 더해지고,
그 더해진 숫자와 문자열의 병합이 일어난다.
나머지 산술연산자들은 피연산자가 숫자형이 아닐 경우, 그 형을 숫자로 바꾸어 계산한다.
할당 연산자 =
할당연산자는 연산자 우선순위가 3으로 아주 낮아서,
let x = 2 * 2 + 1;
과 같은 표현식에서 2 * 2 + 1 이 먼저 계산되고, 그 값이 x 에 할당된다.
할당 연산자 체이닝
할당 연산자가 여러개 연결된 경우 평가는 우측부터 진행된다.
복합 할당 연산자 +=
*=
변수에 연산자를 적용하고,
그 결과를 같은 변수에 저장하는 경우에 사용한다.
복합할당연산자는 할당연산자와 마찬가지로 연산자 우선순위가 3으로 아주 낮아서,
다른 연산자들이 실행된 이후에 실행된다.
증가 연산자 ++
감소 연산자 --
증가 연산자는 변수를 1 증가시키고,
감소 연산자는 변수를 1 감소시킨다.
단, 증감연산자는 변수에만 사용할 수 있다.
증감연산자는 변수 앞에 놓는지, 변수 뒤에 놓는지에 따라 차이가 있다.
증감 연산자가 앞에 놓이면, 자기자신에게 1을 더해 재할당 이후, 나머지 연산을 계속한다.
증감 연산자가 뒤에 놓이면, 연산이 끝난 이후에, 자기자신에게 1을 더해 재할당한다.
~보다 큼/작음 >
<
~보다 크거나/작거나 같음 >=
<=
동등연산자 ==
부등연산자 !=
일치연산자 ===
(동등연산자의 엄격한 버전)
불일치연산자 !==
(부등연산자의 엄격한 버전)
==
동등연산자는 피연산자가 undefined나 null일 때만 형 변환을 하지 않는다.
모던 자바스크립트 튜터리얼 부셔...!