자바스크립트에서의 연산자

Javascript

연산자

증가/감소

전위 연산자 - 피연산자 값을 먼저 계산하고, 다음 연산을 수행한다.

후위 연산자 - 다른 연산을 수행하고, 피연산자의 값을 계산한다.

숫자 타입이 아닌 피연산자에 +,- 를 사용하게 되면 숫자 타입으로 변환된다.

문자열 연결

+ 연산자는 피연산자 중 하나 이상이 문자열이면 문자열 연결 연산자로 동작한다.

비교 연산자

==연산자는 자바스크립트 엔진에 의해 암묵적으로 타입을 일치시킨 후 같은 값인지 비교한다. 그러므로 자바스크립트에서는 ==연산자는 사용하지 않는 편이 좋다.

===연산자를 이용함으로써 타입도 같고 값도 같은 경우에만 참값을 반환한다.

NaN은 Not a number(숫자가 아님)의 줄임말로 브라우저에서 설정 불가, 쓰기 불가로 사용되는 속성이다. Number.isNaN() 또는 isNaN()을 사용하여 판별할 수 있다.

isNaN(1) // false
isNaN('abc') // true
isNaN(null) // false
isNaN() vs Number.isNaN()

NaN을 판별하는데 쓰이지만 차이가 있다.

isNaN('hello world'); // true
Number.isNaN('hello world'); // false

isNaN()은 인자로 들어온 값이 NaN 이거나 숫자로 변환했을 때 NaN이면 true를 리턴한다.

Number.isNaN()은 인자로 들어온 값이 NaN이어야만 true를 리턴한다.

typeof

typeof null은 object로 반환되기에 주의해야 한다. null 타입을 확인하기 위해서는 ===연산자를 이용하자.