JavaScript isNaNについて注意点
isNaN は引数が非数であるかをチェックして、非数ならtrueを返す関数です。
ただ、以下の結果はすべて false になります。
isNaN('') // false
isNaN(false) // false
isNaN(true) // false
空文字もbooleanも非数なので true になりそうですが。。
実は isNaN の引数が数値型ではない場合は、先に数値に変換されます。
空文字は0、falseは0、trueは1に変換されます。
これは数値型なので、isNaN の結果は false になるわけです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/isNaN
最近のコメント