| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/isNaN | [Back] [Original] |
Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
This feature is well established and works across many devices and browser versions. Its been available across browsers since 2015 7.
isNaN() NaN . isNaN , ECMAScript 2015 Number.isNaN() .
function milliseconds(x) {
if (isNaN(x)) {
return "Not a Number!";
}
return x * 1000;
}
console.log(milliseconds("100F"));
// Expected output: "Not a Number!"
console.log(milliseconds("0.0314E+2"));
// Expected output: 3140
isNaN(value);
value.
NaN true, false.
isNaN JavaScript , NaN (==, ===) . NaN == NaN, NaN === NaN false . NaN .
NaN NaN , . NaN.
0 0 NaN, 0 .
isNaN , . isNaN Number , . NaN . NaN ( 0 1 ) , "false" ; "not a number". (confusion) "not a number" IEEE-754 . " , , IEEE-754 'Not A Number' ?" .
ECMAScript (ES2015) Number.isNaN() . Number.isNaN(x) x NaN . Number.isNaN, NaN "not a number" . , Number.isNaN , (x != x) x NaN , isNaN (false positive) .
isNaN :
isNaN = function (value) {
Number.isNaN(Number(value));
};
isNaN(NaN); //
isNaN(undefined); //
isNaN({}); //
isNaN(true); //
isNaN(null); //
isNaN(37); //
//
isNaN("37"); // : "37" NaN 37
isNaN("37.37"); // : "37.37" NaN 37.37
isNaN("123ABC"); // : parseInt("123ABC") 123 Number("123ABC") NaN
isNaN(""); // : NaN 0
isNaN(" "); // : NaN 0
// dates
isNaN(new Date()); //
isNaN(new Date().toString()); //
// isNaN .
isNaN("blabla"); // : "blabla" .
// parsing NaN .
isNaN() : isNaN(x) false , NaN x . true , x NaN . JavaScript, isNaN(x) == true NaN x - 0 (JavaScript x - 0 == NaN ) . , isNaN(x), isNaN(x - 0), isNaN(Number(x)), Number.isNaN(x - 0) Number.isNaN(Number(x)) JavaScript isNaN(x) (terms) .
( "" ) , . JavaScript (versatility) .
function increment(x) {
if (isNaN(x)) x = 0;
return x + 1;
}
// Number.isNaN() :
function increment(x) {
if (Number.isNaN(Number(x))) x = 0;
return x + 1;
}
// x ,
// isNaN(x) , x
//
//
increment(""); // 1: "" 0
increment(new String()); // 1: String 0
increment([]); // 1: [] 0
increment(new Array()); // 1: Array 0
increment("0"); // 1: "0" 0
increment("1"); // 2: "1" 1
increment("0.1"); // 1.1: "0.1" 0.1
increment("Infinity"); // Infinity: "Infinity" Infinity
increment(null); // 1: null 0
increment(false); // 1: false 0
increment(true); // 2: true 1
increment(new Date()); // date/time + 1
// x ,
// isNaN(x) x
increment(-1); // 0
increment(-0.1); // 0.9
increment(0); // 1
increment(1); // 2
increment(2); // 3
// ... ...
increment(Infinity); // Infinity
// x ,
// isNaN(x) x ,
// 0 1
increment(String); // 1
increment(Array); // 1
increment("blabla"); // 1
increment("-blabla"); // 1
increment(0 / 0); // 1
increment("0/0"); // 1
increment(Infinity / Infinity); // 1
increment(NaN); // 1
increment(undefined); // 1
increment(); // 1
// isNaN(x) isNaN(Number(x)) ,
// x !
isNaN(x) == isNaN(Number(x)); // x == undefined x ,
// isNaN(undefined) == true Number(undefined) NaN ,
// ...
isNaN() == isNaN(Number()); // , isNaN() == true Number() == 0
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-isnan-number |
This page was last modified on 2025 4 13 by MDN contributors.
Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |