Number.isNaN()
시도해보기
구문
js
Number.isNaN(value)
매개변수
value-
NaN인지 판별할 값.
반환 값
설명
NaN이 NaN인지 계산할 때, 두 동일 연산자 ==과 === 모두 false로 평가되므로 값의 NaN 여부를 알아내려면 Number.isNaN()이 필요합니다. 이 상황은 다른 모든 JavaScript와 다른 특별한 경우입니다.
전역 isNaN() 함수와 달리, Number.isNaN()은 강제로 매개변수를 숫자로 변환하는 문제를 겪지 않습니다. 이는 이제 보통NaN으로 변환됐을 값이 안전하게 전달되지만, 실제로는 NaN과 같은 값이 아님을 의미합니다. 이는 또한 오직 숫자형이고 또한 NaN인 값만이 true를 반환함을 뜻합니다.
예제
js
Number.isNaN(NaN); // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0) // true
// 예를 들면 이들은 global isNaN()으로는 true가 됐을 것임
Number.isNaN("NaN"); // false
Number.isNaN(undefined); // false
Number.isNaN({}); // false
Number.isNaN("blabla"); // false
// 모두
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN(37);
Number.isNaN("37");
Number.isNaN("37.37");
Number.isNaN("");
Number.isNaN(" ");
폴리필
js
Number.isNaN = Number.isNaN || function(value) {
return value !== value;
}
명세
| Specification |
|---|
| ECMAScript Language Specification # sec-number.isnan |
브라우저 호환성
BCD tables only load in the browser