ホームページ > ウェブフロントエンド > jsチュートリアル > なぜnan === nanがjavascriptでfalseを返すのですか?

なぜnan === nanがjavascriptでfalseを返すのですか?

Patricia Arquette
リリース: 2025-01-25 16:37:09
オリジナル
331 人が閲覧しました

Why Does NaN === NaN Return False in JavaScript?

javascriptの独特の動作では、NaN === NaNが開発者を頻繁に困惑させると評価されます。 この記事では、なぜこれが事実であるのかを明確にし、NAN検出のための正しい方法を提供します。 false

ナン

を理解しています nan、「Not-a-Number」の略では、無効または未定義の数学操作の結果を意味します。 例は次のとおりです

なぜ不平等?
<code class="language-javascript">console.log(0 / 0);       // NaN
console.log(Math.sqrt(-1)); // NaN</code>
ログイン後にコピー
浮動小数点算術のIEEE 754標準は、NANがそれ自体を含むものと同等ではないことを決定します。 この設計は、無効な結果の誤った扱いを、まるで有効な数値値であるかのように防止します。 基本的に、NANはエラー条件にフラグを立て、本質的に比較できない。

信頼できるnanチェック

NANを扱うとき、

直接比較は失敗します。 代わりに、これらの関数を使用します:

このグローバル関数は、値がnanであるか、nanに強制されるかどうかをチェックします:

  • isNaN()
この方法では、タイプの強制を回避するためのより正確なチェックを提供します。
<code class="language-javascript">console.log(isNaN("abc"));    // true</code>
ログイン後にコピー
  • 概要Number.isNaN()
比較は
<code class="language-javascript">console.log(Number.isNaN(NaN)); // true</code>
ログイン後にコピー
を生成します。これは、nanが数値ではなくエラー状態を表しているためです。 NANを正確に検出するには、堅牢で信頼性の高いコードを使用して

またはを使用してください。 ソース

以上がなぜnan === nanがjavascriptでfalseを返すのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート