JavaScriptで値が数値かどうかチェックする:isNaN()

JavaScript である値が数値かどうかを判定する場合は、isNaN() 関数を使用します。ここでは、isNaN() 関数の使い方と、使う上での注意点について説明します。

isNaN() 関数の使い方

isNaN() 関数は、JavaScript に組み込まれている関数です。isNaN() は、引数が数値でない場合に true を返し、数値の場合は false を返します。これによって、特定の値が数値か否かを判定することができます。なお、NaN とは Not a Number(非数)を表します。

以下に使用例を示します。

上の例では、指定した引数が数値である場合だけでなく、文字列だった場合でも isNaN() は false を返し数値として判定されています。この理由に関しては以下で説明します。

isNaN() 関数を使う際の注意点

isNaN() 関数は、関数実行時に引数に対して Number() 関数と等価の型変換を行います。そのため、引数が '123' のような文字列だった場合でも、数値の 123 に変換した後に判定を行うため、falseが返されます。同様に、true や false のブーリアン値もそれぞれ 1 と 0 に変換された後に判定されるため、false が返されます。

サンプルプログラム

次のサンプルは、テキストボックスに入力された値が数値か否かを判定し、アラートを表示するプログラムです。

HTML

JavaScript

isNaN() 関数は数値ではない場合に true を返すので、注意して使用してください。


イベント