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以降
  • モダンブラウザで完全対応

例外

編集

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