jsのisNaNとNumber.isNaNの違いは何ですか

青灯夜游
リリース: 2020-11-17 18:18:07
オリジナル
2670 人が閲覧しました

違い: Number.isNaN には型変換動作がなく、isNaN はパラメーターを Number 型に変換しようとします。 isNaN は、受信パラメータが数値に変換できるかどうかのみを決定し、それが NaN に等しいかどうかを厳密に決定しません。一方、Number.isNaN は、受信パラメータが厳密に NaN に等しいかどうかを決定します。

jsのisNaNとNumber.isNaNの違いは何ですか

推奨チュートリアル: 「JavaScript ビデオ チュートリアル

## isNaN

isNaN にパラメータを渡すとき、その本来の目的は、Number() メソッドを通じてパラメータを Number 型に変換しようとすることであり、成功すると false を返します。失敗した場合は true を返します。

つまり、isNaN は、受信パラメータが数値に変換できるかどうかを判断するだけであり、それが NaN に等しいかどうかを厳密に判断するわけではありません。

例:

Number('测试')
ログイン後にコピー
"test" は Number 型に変換できなかったため、次のコードは true

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
ログイン後にコピー
上記のコードでは、文字列「test」が渡されていますが、結果が異なるのはなぜですか?その理由は次のとおりです。

isNaN は、Number メソッドを通じて文字列 "test" を Number 型に変換しようとしますが、Number('test') の結果が NaN であるため変換は失敗し、最終的に true を返します。 。

Number.isNaN メソッドは、受信パラメータがすべて NaN に等しいかどうかのみを厳密に判断します ('test' === NaN)。もちろん、文字列がすべて NaN に等しいわけではないため、false を出力します。

プログラミング関連の知識について詳しくは、

プログラミング教育

をご覧ください。 !

以上がjsのisNaNとNumber.isNaNの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!