isNaN 関数は、引数が数値として解釈できるかを返します。
ここまではいいのですが、以下の取り扱いに注意です。
ちなみに、isNaN は「数値ではないかそうではないか」とわかりにくいので、
直観として使える isFinite 「数値かどうか」のほうが便利かもしれません。
実行結果は以下のとおり。isNaN とまったく逆です。ここでは undefined と null は型としてはっきり役割が分かれています。
isNaN(0) //false
isNaN("string") //true
isNaN(true) //false
isNaN(undefined) //true
isNaN(null) //false
直観として使える isFinite 「数値かどうか」のほうが便利かもしれません。
実行結果は以下のとおり。isNaN とまったく逆です。
isFinite(0) //true
isFinite("string") //false
isFinite(true) //true
isFinite(undefined) //false
isFinite(null) //true