Front-end/Javascript

특수값 (Undefined, void, NaN, Infinity, -0..)

madison 2021. 4. 6. 23:18

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를 사용한다.