A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN below:

Number.isNaN() - JavaScript | MDN

Number.isNaN()

Baseline Widely available

Number.isNaN() は静的メソッドで、渡された値が数値型の NaN であるかどうかを判定します。入力が数値型でなかった場合は false を返します。元となるグローバルの isNaN() よりも堅牢な版です。

試してみましょう
function typeOfNaN(x) {
  if (Number.isNaN(x)) {
    return "Number NaN";
  }
  if (isNaN(x)) {
    return "NaN";
  }
}

console.log(typeOfNaN("100F"));
// Expected output: "NaN"

console.log(typeOfNaN(NaN));
// Expected output: "Number NaN"
構文 引数
value

NaN かどうか検査される値です。

返値

論理値で、与えられた値が数値で、かつ値が NaN である場合は true を返します。そうでなければ false です。

解説

Number.isNaN() 関数は、NaN と等しいことをチェックする便利な方法を提供します。なお、NaN と等しいことは == 演算子でも === 演算子でも検査できません。JavaScript の他のすべての値との比較とは異なり、一方のオペランドが NaN であれば、もう一方のオペランドが NaN であっても false と評価します。

JavaScript の有効なすべての値の中で、x !== x は NaN だけが true になりますので、Number.isNaN(x) は x !== x の検査を置き換えることができますが、後者の方が可読性が低くなります。

グローバルの isNaN() 関数とは異なり、 Number.isNaN() は強制的に引数が数値に変換される問題の影響をうけません。これにより、通常 NaN に変換されるが実際には NaN ではない値が、安全に渡されます。つまりこの関数は、数値型であり、かつ NaN である値が渡されたときのみ、 true を返すということです。

例 isNaN() の使用
Number.isNaN(NaN); // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0); // true
Number.isNaN(37); // false
Number.isNaN() とグローバルの isNaN() の相違点

Number.isNaN() は引数を数値へ変換することを試みないので、数値でないものはすべて false を返します。以下のものはすべて false になります。

Number.isNaN("NaN");
Number.isNaN(undefined);
Number.isNaN({});
Number.isNaN("blabla");
Number.isNaN(true);
Number.isNaN(null);
Number.isNaN("37");
Number.isNaN("37.37");
Number.isNaN("");
Number.isNaN(" ");

グローバルの isNaN() は、引数を数値に変換します。

isNaN("NaN"); // true
isNaN(undefined); // true
isNaN({}); // true
isNaN("blabla"); // true
isNaN(true); // false、これは 1 に変換される
isNaN(null); // false、これは 0 に変換される
isNaN("37"); // false、これは 37 に変換される
isNaN("37.37"); // false、これは 37.37 に変換される
isNaN(""); // false、これは 0 に変換される
isNaN(" "); // false、これは 0 に変換される
仕様書 ブラウザーの互換性 関連情報

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4