{category}

JavaScript - Number

Number.isNaN()

ナンバー・イズナン(組み込みオブジェクト

意味 NaN判定関数


Number.isNaN()とは?

`Number.isNaN()`メソッドは、与えられた値がNaN(Not-a-Number)であるかどうかを判定します。

Number.isNaN()の具体的な使い方

NaNの判定例

console.log(Number.isNaN(NaN));
console.log(Number.isNaN(5));
console.log(Number.isNaN('Hello'));
console.log(Number.isNaN(0 / 0));

👇出力結果

true
false
false
true

この例では、様々な値に対してNumber.isNaN()を使用し、それらがNaNであるかどうかを判定します。

isNaN()とNumber.isNaN()の違い

console.log('グローバルisNaN:');
console.log(isNaN(NaN));
console.log(isNaN('Hello'));

console.log('Number.isNaN:');
console.log(Number.isNaN(NaN));
console.log(Number.isNaN('Hello'));

👇出力結果

グローバルisNaN:
true
true
Number.isNaN:
true
false

この例では、グローバルのisNaN()関数とNumber.isNaN()メソッドの動作の違いを示します。

計算結果のNaN判定

<button onclick='checkCalculation()'>計算結果をチェック</button>
<div id='result'></div>
<script>
function checkCalculation() {
  const result = 0 / 0;
  const isNaNResult = Number.isNaN(result);
  document.getElementById('result').innerText = `計算結果はNaNですか? ${isNaNResult}`;
}
</script>

この例では、0を0で割った結果がNaNであるかどうかを判定し、結果を表示します。

Number.isNaN()に関するよくある質問

Q. isNaN()との違いは?
A. Number.isNaN()はより厳密で、引数が実際にNaNである場合のみtrueを返します。一方、グローバルのisNaN()関数は、引数をまず数値に変換しようとするため、非数値の引数に対してもtrueを返すことがあります。
Q. なぜNaNの判定が必要?
A. NaNは「Not-a-Number(数値ではない)」を表す特殊な値で、数値演算の結果が無効または未定義の場合に生成されます。計算結果の妥当性をチェックする際などに、NaNの判定が必要になります。
Q. NaNとNaNは等しくない?
A. はい、NaNは自分自身を含め、どの値とも等しくありません。そのため、NaN === NaNはfalseを返します。これがNumber.isNaN()が必要な理由の一つです。

Number.isNaN()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、JavaScriptのNumber.isNaN()やObject.entries()、string.startsWith()、array.find()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


JavaScriptを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!JavaScriptはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

Object.entries()

オブジェクトの内容表示

種類: Object

string.startsWith()

文字列が開始判定

種類: String

array.find()

条件に合う要素を検索

種類: Array

else if

追加の条件

種類: 条件分岐

...

要素や引数の展開

種類: その他の演算子