global NaN
속성(property)은 Not-A-Number(숫자가 아님)을 나타내는 값입니다.
Property attributes of NaN |
|
---|---|
Writable | no |
Enumerable | no |
Configurable | no |
구문
NaN
설명
NaN
은 global object의 속성입니다.
NaN
의 초기값은 Not-A-Number 즉, Number.NaN
값과 같습니다.
최신 브라우저에서, NaN
은 설정불가(non-configurable), 쓰기불가(non-writable) 속성입니다. 이는 그 경우가 아닐 때라도, 재정의(overriding)를 피합니다.
프로그램에서 NaN
을 사용하기는 조금 드뭅니다. 그것은 Math
함수가 실패(Math.sqrt(-1)
))하거나 숫자를 파싱하려 한 함수가 실패(parseInt("blabla")
)했을 때 반환되는 값입니다.
NaN
에 대한 테스트
NaN
은 다른 NaN 값을 포함하여 다른 어떤 값과 같지 않음(==
, !=
, ===
및 !==
를 통해)을 비교합니다. 값이 NaN인지 가장 명확하게 결정하기 위해 Number.isNaN()
또는 isNaN()
을 사용하세요. 아니면 자체 비교를 하세요: NaN 및 NaN만, 자신과 같지 않음을 비교합니다.
NaN === NaN; // false Number.NaN === NaN; // false isNaN(NaN); // true isNaN(Number.NaN); // true function valueIsNaN(v) { return v !== v; } valueIsNaN(1); // false valueIsNaN(NaN); // true valueIsNaN(Number.NaN); // true
스펙
스펙 | 상태 | 설명 |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | 초기 정의. JavaScript 1.3에서 구현됨 |
ECMAScript 5.1 (ECMA-262) The definition of 'NaN' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'NaN' in that specification. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) The definition of 'NaN' in that specification. |
Draft |
브라우저 호환성
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |