【Node.js24.x】Object::isNaN()メソッドの使い方
isNaNメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
isNaNメソッドは、与えられた値が「非数」(Not-a-Number、略してNaN)であるかどうかを判定するメソッドです。このメソッドはJavaScriptのグローバルオブジェクトに属しており、Node.js環境でも利用可能です。
isNaNメソッドの基本的な機能は、引数として渡された値をまず数値に変換しようと試み、その変換の結果がNaNであればtrueを返し、そうでなければfalseを返すというものです。例えば、isNaN(NaN)はもちろんtrueを返しますが、isNaN('hello')のように数値として解釈できない文字列を渡した場合も、その文字列を数値に変換しようとした結果がNaNになるため、trueを返します。一方で、isNaN(123)やisNaN('123')のように数値として認識できる値や、数値に変換可能な文字列を渡した場合はfalseを返します。また、isNaN(true)やisNaN(null)のような値もそれぞれ数値の1や0に変換できるため、falseを返します。
このメソッドは主に、ユーザーからの入力値や外部からのデータなど、信頼できない値が本当に有効な数値であるかを検証する際に役立ちます。ただし、数値に変換できない文字列などもNaNと判定されるため、より厳密に「値がNaNそのものであるか」を判定したい場合は、Number.isNaN()メソッドの使用を検討してください。Number.isNaN()は、引数が厳密にNaNである場合にのみtrueを返し、それ以外の値(数値に変換できない文字列など)にはfalseを返します。
構文(syntax)
1console.log(Object.isNaN(NaN)); 2console.log(Object.isNaN(123)); 3console.log(Object.isNaN('Hello'));
引数(parameters)
引数なし
引数はありません
戻り値(return)
boolean
指定された値が数値ではない(NaN: Not-a-Number)場合にtrueを、それ以外の場合にfalseを返します。