특수값 (Undefined, void, NaN, Infinity, -0..)
undefined
undefined 타입의 값은 undefined만 존재한다.
느슨한모드에서 전역스코프에서 undefined에 값을 할당 할 수 있고, 모드 상관없이 undefined라는 이름을 가지는 지역변수를 생성할 수 있다. (사용할 일이 없음)
void
void - 는결과값은 undefined로 만든다.
void 0 이라고 쓰면 undefined 값을 나타ㅓ낸다.
NaN, Infinity, -0
NaN : 수학 연산 시 피연산자가 하나라도 숫자가 아닐경우, 피연산자가 NaN인 경우 등 그 결과는 NaN ( Not A Number)
NaN은 다른 NaN과도 같지않아서, Number.isNaN() 함수로 NaN 여부를 알 수 있다.
( 내장 유틸리티 isNaN을 사용하면 문자열도 true로 뱉어내기 때문에, ES6부터는 Number.isNaN() 으로 안전하게 체크할 수 있다)
Infinity: 는 MDN 사이트에 잘 정리가 되어있다.
developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY
Number.POSITIVE_INFINITY - JavaScript | MDN
Number.POSITIVE_INFINITY Number.POSITIVE_INFINITY 속성은 양의 무한대를 나타냅니다. The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https:/
developer.mozilla.org
* Object.is(value1, value2)
ES6부터 지원하는 Object.is()는 두 값이 동등한지 확인한다. 기본연산자가 효율이좋지만, 특이한 동등비교에서는 Object.is를 사용한다.