コンテンツにスキップ

JavaScript/isNaN

出典: フリー教科書『ウィキブックス(Wikibooks)』

isNaN()は、JavaScriptの組み込み関数で、引数が「Not-a-Number(数値ではない)」かどうかを判定する関数です。

構文

[編集]
isNaN(testValue)

戻り値

[編集]
  • 引数がNaN(数値ではない)の場合はtrueを返します
  • 引数が数値に変換可能な場合はfalseを返します

動作例

[編集]

数値ではない値

[編集]
  • isNaN(NaN)true
  • isNaN("文字列")true
  • isNaN(undefined)true

数値に変換可能な値

[編集]
  • isNaN(0)false
  • isNaN("123")false(文字列が数値に変換可能)
  • isNaN(true)false1に変換)
  • isNaN(false)false0に変換)

グローバル関数との違い

[編集]

isNaN()は、グローバルスコープの関数であり、Number.isNaN()とは挙動が異なります。

  • isNaN()は型変換を行い、数値に変換できない値もtrueと判定
  • Number.isNaN()は厳密にNaNのみを判定

型変換の仕組み

[編集]

関数は最初に引数を数値に変換してから、その値がNaNかどうかを判定します。

注意点

[編集]
  • ECMAScript 5.1以降で利用可能
  • 型変換を伴うため、予期しない結果に注意が必要

関連メソッド

[編集]

ブラウザ互換性

[編集]
  • 全主要ブラウザでサポート
  • インターネット・エクスプローラー9以降
  • モダンブラウザで完全対応

例外

[編集]

特定の例外は発生しませんが、予期しない型変換に注意が必要です。