{category}

JavaScript - 特殊な値

NaN

ナン(データ型

意味 数値でない


NaNとは?

数値でないことを示す特殊な値。計算結果が数値として表現できないときに返される。

NaNの具体的な使い方

NaNを生成する例

function generateNaN() {
  let result = 0 / 0;
  let parseResult = parseInt('Hello');
  let sqrtResult = Math.sqrt(-1);
  
  console.log('0を0で割った結果:', result);
  console.log('「Hello」を数値に変換した結果:', parseResult);
  console.log('-1の平方根:', sqrtResult);
}

generateNaN();

👇出力結果

0を0で割った結果: NaN
「Hello」を数値に変換した結果: NaN
-1の平方根: NaN

NaNが生成される様々な状況を示します。

NaNの特性を確認する例

function checkNaNProperties() {
  console.log('NaN === NaN:', NaN === NaN);
  console.log('isNaN(NaN):', isNaN(NaN));
  console.log('Number.isNaN(NaN):', Number.isNaN(NaN));
}

checkNaNProperties();

👇出力結果

NaN === NaN: false
isNaN(NaN): true
Number.isNaN(NaN): true

NaNの特性(自身との比較や、NaNを判定する関数)を確認します。

NaNとの演算の例

console.log('NaNとの演算:');
console.log('NaN + 5 =', NaN + 5);
console.log('NaN * 10 =', NaN * 10);
console.log('NaN / 2 =', NaN / 2);

👇出力結果

NaNとの演算:
NaN + 5 = NaN
NaN * 10 = NaN
NaN / 2 = NaN

NaNとの基本的な演算結果を確認します。

NaNの型を確認する例

console.log('NaNの型:');
console.log('typeof NaN =', typeof NaN);

👇出力結果

NaNの型:
typeof NaN = number

NaNの型を確認します。

NaNの判定方法の例

console.log('NaNの判定:');
console.log('isNaN("Hello") =', isNaN("Hello"));
console.log('Number.isNaN("Hello") =', Number.isNaN("Hello"));
console.log('isNaN(NaN) =', isNaN(NaN));
console.log('Number.isNaN(NaN) =', Number.isNaN(NaN));

👇出力結果

NaNの判定:
isNaN("Hello") = true
Number.isNaN("Hello") = false
isNaN(NaN) = true
Number.isNaN(NaN) = true

isNaN()とNumber.isNaN()の違いを確認します。

NaNに関するよくある質問

Q. NaNとは何ですか?
A. NaN(Not-a-Number)は、数値ではないことを表す特殊な値です。数学的に定義されていない操作や、数値に変換できない値を数値として扱おうとしたときに発生します。
Q. NaNの特徴は?
A. NaNはユニークな特徴を持ちます。例えば、NaN === NaNはfalseを返します。NaNかどうかを確認するには、isNaN()関数やNumber.isNaN()メソッドを使用します。
Q. NaNはどんな時に発生しますか?
A. 0を0で割る、無限大を無限大で割る、数値でない文字列を数値に変換しようとする、不正な数学的操作(例:Math.sqrt(-1))を行うなどの場合にNaNが発生します。

NaNが学べる書籍の紹介

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

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

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」カテゴリーが追加されましました!


関連するそのほかの単語

Symbol

固有の値

種類: プリミティブ型

Boolean

ブーリアン型(真偽値)

種類: プリミティブ型

Error

エラーオブジェクト

種類: オブジェクト型

yield

関数の一時停止/値返却

種類: ジェネレータ関数とイテレータ

Private

非公開のアクセス修飾子

種類: カプセル化