違い: Number.isNaN には型変換動作がなく、isNaN はパラメーターを Number 型に変換しようとします。 isNaN は、受信パラメータが数値に変換できるかどうかのみを決定し、それが NaN に等しいかどうかを厳密に決定しません。一方、Number.isNaN は、受信パラメータが厳密に NaN に等しいかどうかを決定します。
推奨チュートリアル: 「JavaScript ビデオ チュートリアル 」
## isNaN
isNaN にパラメータを渡すとき、その本来の目的は、Number() メソッドを通じてパラメータを Number 型に変換しようとすることであり、成功すると false を返します。失敗した場合は true を返します。
つまり、isNaN は、受信パラメータが数値に変換できるかどうかを判断するだけであり、それが NaN に等しいかどうかを厳密に判断するわけではありません。
例:Number('测试')
console.log(isNaN('测试')) //true
Number を出力します。 isNaN
# 受信パラメータが厳密に NaN (つまり ===) と等しいかどうかを判断します。
では、Number.isNaN は一般的にどのような状況で使用されるのでしょうか? 2 つの変数を操作する場合、Number.isNaN を使用して、その値が NaN かどうかを判断できます。console.log(Number.isNaN(1/'测试')); //输出true
2 つの変数の違い
#Number.isNaN と isNaN の最大の違いは、Number.isNaN には型変換動作がないことです。console.log(isNaN('测试')) //true
console.log(Number.isNaN('测试')) //false
isNaN は、Number メソッドを通じて文字列 "test" を Number 型に変換しようとしますが、Number('test') の結果が NaN であるため変換は失敗し、最終的に true を返します。 。
Number.isNaN メソッドは、受信パラメータがすべて NaN に等しいかどうかのみを厳密に判断します ('test' === NaN)。もちろん、文字列がすべて NaN に等しいわけではないため、false を出力します。
プログラミング関連の知識について詳しくは、
プログラミング教育以上がjsのisNaNとNumber.isNaNの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。