【JavaScript ECMAScript】Number::Number.isNaN静的メソッドの使い方
Number.isNaN()静的メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Number.isNaN()メソッドは、引数として渡された値が「NaN(Not-a-Number)」であるかを厳密に判定するメソッドです。NaNは、JavaScriptにおいて数値として表現できない不正な操作(例: 0を0で割る、無限大から無限大を引くなど)の結果として生じる特別な数値です。
このメソッドは、引数の型を数値に変換しようとせず、純粋にその値がプリミティブなNaNと厳密に同じである場合にのみtrueを返します。それ以外の値、たとえそれが数値ではない他の型(例: 'hello', undefined, nullなど)であっても、すべてfalseを返します。
JavaScriptには、グローバルオブジェクトの関数として同名のisNaN()も存在しますが、これとは動作が異なります。グローバルなisNaN()は、まず引数を数値に型変換しようと試み、その変換後の値がNaNであるかを判定します。そのため、数値に変換できない文字列(例: isNaN('hello'))に対してもtrueを返すことがあります。
Number.isNaN()は、この型変換の挙動がなく、厳密なNaNのチェックを行うため、より予期せぬ挙動を避け、意図した通りの正確な数値検証が必要な場面で非常に有用です。例えば、計算結果が不正な値になっていないかを確認したり、ユーザー入力が特定の数値でないことを厳密に検証したりする際に活用されます。
構文(syntax)
1console.log(Number.isNaN(NaN)); 2console.log(Number.isNaN(0 / 0)); 3console.log(Number.isNaN("NaN")); 4console.log(Number.isNaN(42)); 5console.log(Number.isNaN(undefined));
引数(parameters)
value
- value: any: 値 (数値であるかどうかが判定されます)
戻り値(return)
boolean
Number.isNaN() は、引数が NaN (Not a Number) であるかどうかを判定し、真偽値 (boolean) を返します。引数が NaN であれば true を、それ以外の場合は false を返します。