Number.isNaN() 関数は、NaN と等しいことをチェックする便利な方法を提供します。なお、NaN と等しいことは == 演算子でも === 演算子でも検査できません。JavaScript の他のすべての値との比較とは異なり、一方のオペランドが NaN であれば、もう一方のオペランドが NaN であっても false と評価します。 JavaScript の有効なすべての値の中で、x !== x は NaN だけが true になりますので、Number.isNaN(x) は x !== x の検査を置き換えることができますが、後者の方が可読性が低くなります。 グローバルの isNaN() 関数とは異なり、 Number.isNaN() は強制的に引数が数値に変換される問題の影響をうけません。これにより、通常 NaN に変換されるが実際には NaN ではない値が、安全に渡されます