●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

JavaScriptのNaNとは?数値にならないことを示す特別な値を解説

JavaScriptで数値を扱う際に、NaN(Not a Number)という特別な値が返されることがあります。
NaNは「数値ではない」という意味を持ち、数値計算で予期せぬエラーを防ぐために重要な役割を果たします。

この記事では、NaNとは何か、どのような時に発生するのか、判定方法や注意点についてわかりやすく解説します。

NaNとは?

NaN は「Not a Number」の略で、「数値に変換できない結果」を示す特殊な値です。
JavaScriptでは typeof NaN は "number" と返されますが、実際には「無効な数値」という扱いになります。

console.log(typeof NaN); // "number"

NaNが発生する主なケース

  • 数値にならない文字列を数値として扱ったとき
  • 数学的に意味のない計算をしたとき

例1:数値に変換できない文字列

let result = Number("abc");
console.log(result); // NaN

例2:0で0を割る

console.log(0 / 0); // NaN

NaNの判定方法

NaNは非常に特殊な値で、NaN === NaNfalse になります。

console.log(NaN === NaN); // false

そのため、NaNの判定には isNaN()Number.isNaN() を使います。

isNaN()(型変換あり)

isNaN("abc"); // true("abc" → NaN → true)
isNaN(123);   // false

Number.isNaN()(型変換なし・より正確)

Number.isNaN("abc"); // false
Number.isNaN(NaN);   // true

Number.isNaN() の方が厳密で安全です。

NaNはFalsy値

NaNは、条件分岐などで false として扱われる「Falsy値」の一つです。

if (!NaN) {
  console.log("NaNはfalseとして扱われます");
}

NaNを扱うときの注意点

  • 計算結果がNaNになると、以降の処理が誤動作する可能性がある
  • 文字列の数値変換時は Number()parseFloat() の結果をチェックする
  • 必ず Number.isNaN() を使って正確に判定する

まとめ

  • NaNは「数値ではない」ことを示す特殊な値
  • 数値変換に失敗したときや無効な計算で発生する
  • NaN === NaN は false になる
  • 判定には Number.isNaN() を使うのが安全
  • NaNはFalsy値としても扱われる

NaNは一見シンプルなようで、意外と落とし穴が多い値です。
正しく理解し、isNaN()Number.isNaN() を上手に使って、安全な数値処理を行いましょう。

 

JavaScript関連用語集

−−−−−  JavaScript  −−−−−

JavaScriptの変数とは?初心者にもわかりやすく解説

JavaScriptの定数(const)とは?使い方と注意点をわかりやすく解説

JavaScriptの関数とは?基本から使い方まで丁寧に解説

JavaScriptの配列とは?基本の使い方から応用まで解説

JavaScriptのオブジェクトとは?基本の使い方から応用まで解説

JavaScriptのプロパティとは?基本から使い方までわかりやすく解説

JavaScriptのメソッドとは?基本と使い方をわかりやすく解説

JavaScriptのスコープとは?基礎からしっかり理解しよう

JavaScriptのクロージャとは?仕組みと使い方をわかりやすく解説

JavaScriptのコールバック関数とは?仕組みと使い方をやさしく解説

JavaScriptの非同期処理とは?基本から使い方までわかりやすく解説

JavaScriptのPromiseとは?非同期処理をわかりやすく管理する方法

JavaScriptのasync / awaitとは?Promiseをもっと簡単に書く方法

JavaScriptのイベントとは?クリックや入力に反応する仕組みを解説

JavaScriptのイベントリスナーとは?イベント処理の基本を解説

JavaScriptのDOMとは?Webページを操作する基本をやさしく解説

JavaScriptのJSONとは?データのやりとりに使われる基本形式を解説

JavaScriptのデータ型とは?基本の種類と使い方をわかりやすく解説

JavaScriptの型変換とは?自動変換と明示的変換の仕組みを解説

JavaScriptのnullとは?「何もない」を明示する特別な値

JavaScriptのundefinedとは?「未定義」を表す特別な値を理解しよう

JavaScriptのNaNとは?数値にならないことを示す特別な値を解説

JavaScriptのループとは?繰り返し処理の基本と使い方を解説

JavaScriptのif文とは?条件に応じた処理の書き方を解説

JavaScriptのswitch文とは?複数の条件分岐をすっきり書く方法

JavaScriptのクラスとは?オブジェクト指向の基本構文を解説

JavaScriptの継承とは?クラスの機能を引き継ぐ仕組みを解説

JavaScriptのモジュールとは?ファイル分割と再利用を可能にする仕組みを解説

JavaScriptの即時関数(IIFE)とは?その仕組みと使いどころを解説

JavaScriptのグローバル汚染を防ぐ方法とは?安全なスクリプト管理の基本