コンテンツにスキップ

JavaScript/Number/isFinite

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

Number.isNaN()は、ES6(ECMAScript 2015)で導入されたNumberオブジェクトの静的メソッドで、引数が厳密にNaN(Not-a-Number)であるかどうかを判定する関数です。

構文

[編集]
Number.isNaN(testValue)

戻り値

[編集]
  • 引数が厳密にNaNの場合のみtrueを返します
  • 型変換を行わず、引数の型と値を厳密にチェックします

動作例

[編集]

NaN判定

[編集]
  • Number.isNaN(NaN)true
  • Number.isNaN(Number.NaN)true

非NaN判定

[編集]
  • Number.isNaN("NaN")false
  • Number.isNaN(undefined)false
  • Number.isNaN(0)false
  • Number.isNaN("文字列")false

グローバル関数との違い

[編集]

Number.isNaN()は、グローバルのisNaN()関数とは大きく異なります。

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

型チェックの仕組み

[編集]
  • 引数の型がnumberであるかを最初にチェック
  • 値がNaNであるかを厳密に判定
  • 型変換は一切行わない

注意点

[編集]
  • ES6(ECMAScript 2015)以降で利用可能
  • モダンJavaScriptでの推奨メソッド
  • 型安全性が高い

関連メソッド

[編集]

ブラウザ互換性

[編集]
  • モダンブラウザで完全対応
  • Interner Explolerでは非対応
  • Edge 12以降でサポート

例外

[編集]

特定の例外は発生しませんが、引数の型によって常にtrue or falseを返します。