하나 이상의 표현식(값으로 평가되는 문) 을 대상으로 여러 가지 연산을 수행하여 하나의 값을 만드는 것
피연산자를 대상으로 사칙연산을 수행해 새로운 숫자 값을 만듦
산술 연산이 불가능하다면 NaN 반환
이항 산술 연산자
단항 산술 연산자
var x = 5, result;
// result에 x의 값인 5가 할당됨
// 단항 산술 연산자에 의해 피연산자인 x의 값이 6으로 변경됨
// 연산자가 피연산자의 뒤에 존재하기 때문에 먼저 다른 연산을 수행한 후, 피연산자의 값을 변경
result = x++;
console.log(result, x); // 5 6
// 연산자가 피연산자의 앞에 존재하므로 피연산자의 값을 변경한 후, 다른 연산이 수행됨
result = ++x;
console.log(result, x); // 6 6
var x = '1';
console.log(+x); // 1 숫자
console.log(x); // '1' 문자
문자열 연결 연산자
'1' + 2; // '12' 문자
할당 연산자에는 =, +=, -=, *=, /=, %= 가 있음
우항의 피연산자 평가 결과를 좌항에 있는 변수에 할당
변수의 값이 변경됨
할당문은 값으로 평가되는 표현식인 문으로서 할당된 값으로 평가됨
x = 10은 x에 할당된 숫자 10으로 평가
var x;
console.log(x = 10); // 10
동등 비교 연산자
5 == 5; // true
5 == '5'; // false
일치 비교 연산자
5 === '5' // false
// NaN은 자신과 일치하지 않는 유일한 값
NaN === NaN; // false
// 숫자가 NaN인지 조사하려면 빌트인 함수 Number.isNaN사용
Number.isNaN(NaN);
var result = score >= 20 ? 'pass' : 'fail';