이 글은 '모던 자바스크립트 DeepDive'를 참고하여 작성되었습니다.
수학적 계산을 수행해 새로운 값을 만들고, 불가능할 경우 NaN 반환
예시
var x = 5, result;
// 후위
// result에 x(5) 할당
// x += 1
result = x++;
console.log(result, x); // 5 6
// 전위
// x += 1
// result에 x(7) 할당
result = ++x;
console.log(result, x); // 7 7
예시
'1' + 2 // '12'
1 + true // 2
1 + false // 1
1 + null // 1
+undefined // NaN
1 + undefined // NaN
할당문은 표현식일까?
할당문 x = 10; 은 10으로 평가되며, 할당문을 다른 변수에 할당할 수 있다.
즉, 할당문은 값으로 평가되는 표현식인 문이다.
var a, b, c;
// 할당문: 우항의 평가 결과를 좌항에 할당
// c = 0의 평가 결과인 0을 b에
// a에도 마찬가지로 할당
// 즉, 표현식이다.
a = b = c = 0;
console.log(a, b, c); 0 0 0
좌항과 우항의 피연산자를 비교한 다음 그 결과를 불리언 값으로 반환한다.
동등 비교 연산자와 일치 비교 연산자는 비교하는 엄격성의 정도에 차이가 있다.
크기를 비교하여 불리언 값을 반환한다.
조건식
? 조건식 true일 때 반환할 값
: 조건식이 false일 때 반환할 값
var x, y, z;
x = 1, y = 2, z = 3; // 3
소괄호로 피연산자를 감싸는 그룹 연산자()
는 자신의 피연산자인 표현식을 가장 먼저 평가한다. 따라서, 연산자의 우선순위를 조절하는데 사용할 수 있다.(연산자 우선순위가 가장 높음)
typeof 연산자는 피연산자의 데이터 타입을 문자열(string
, number
, booldean
, undefined
, symbol
, object
, function
중 1개)로 반환한다.
주의할 점
지수 연산자는 좌항의 피연산자를 밑으로, 우항의 피연산자를 지수로 거듭제곱하여 숫자 값을 반환한다. Math.pow()의 신버전이다.
부수효과가 있는 연산자: 할당 연산자, 증가/감소 연산자, delete 연산자(객체의 프로퍼티 삭제)