みかづきブログ その3

3ヶ月つづけてみました。

JavaScriptで値がNaNかどうか調べる為には isNaN か Number.isNaN をつかう

JavaScriptでNaNはNaNと比較してもfalseが返ってくるので、値がNaNかどうか評価するのが難しい時があります。

console.log(NaN == NaN);  // => false
console.log(NaN === NaN); // => false

そんなときに役に立つのが isNaN と Number.isNaN です。


isNaN

引数がNumber型にキャストした際にNaNになる値であればtrue、それ以外であればfalseを返します。

console.log(isNaN(0));     // => false
console.log(isNaN("0"));   // => false
console.log(isNaN(NaN));   // => true
console.log(isNaN("NaN")); // => true
console.log(isNaN(""));    // => false
console.log(isNaN({}));    // => true
console.log(isNaN([]));    // => false

developer.mozilla.org


Number.isNaN

引数がNaNであればtrue、それ以外であればfalseを返します。
ただし現在は、Chrome、Firefoxでしかサポートされてません。

console.log(Number.isNaN(0));     // => false
console.log(Number.isNaN("0"));   // => false
console.log(Number.isNaN(NaN));   // => true
console.log(Number.isNaN("NaN")); // => false
console.log(Number.isNaN(""));    // => false
console.log(Number.isNaN({}));    // => false
console.log(Number.isNaN([]));    // => false

developer.mozilla.org


DEMO