7장. 연산자
7.1 산술 연산자
- 숫자 타입이 아닌 피연산자에
+ 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환하여 반환한다. 피연산자를 변경하는 것이 아니라 숫자 타입으로 값을 생성해서 반환한다.
- 단항 연산자는 피연산자의 부호를 반전한 값을 반환한다.
7.2 할당 연산자
- 할당문은 값으로 평가되는 표현식인 문으로서 할당된 값으로 평가된다.
var x;
console.log(x = 10);
7.3 비교 연산자
- NaN은 자신과 일치하지 않는 유일한 값이다.
- 자바스크립트는 양의 0과 음의 0을 동일하다고 평가한다.
- 위의 케이스를 정확히 비교하기 위해서는
Object.is 메서드를 사용할 수 있다.
NaN === NaN;
Object.is(NaN, NaN);
0 === -0;
Object.is(0, -0);
Object.is 메서드와 === 연산자의 유일한 차이는 부호있는 0과 NaN 값들에 대한 처리이다.
7.6 쉼표 연산자
- 쉼표(,) 연산자는 왼쪽 피연산자부터 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환한다.
var x, y, z;
x=1, y=2, z=3;
7.8 typeof 연산자
- typeof 연산자로 null 값을 연산하면 null이 아닌 object를 반환하는데 이는 자바스크립트의 첫 번째 버전의 버그이다.
- 선언하지 않은 식별자를 typeof 연산자로 연산해 보면 ReferenceError가 발생하지 않고 undefined를 반환한다.