JavaScriptのJSONオブジェクト isNaN() メソッドの使い方メソッドについて記載します。
概要、実際のサンプルコードを交えて構文などの使い方をまとめてみました。
JavaScriptのNumberオブジェクトとは?
JavaScriptのNumber オブジェクトは、整数または浮動小数点数といった数値の日付を表します。
ブラウザでは、数値リテラルを自動的に数値クラスのインスタンスに変換するので、Numberオブジェクトについて心配する必要はありません。
それでは、次に本題の説明に移ります。
JavaScriptのJSONオブジェクト isNaN() メソッドの使い方概要
isNaN() メソッドは、引数がNaNであるかどうかを判定するメソッドです。
引数がNaNであればtrue、そうでなければfalseを返します。
構文、使い方
構文:isNaN(value)
使い方:引数valueがNaNであるかどうかを判定します。
NaNである場合はtrueを返し、そうでない場合はfalseを返します。
引数について
引数には、数値でない値を渡します。
返り値について
isNaN() メソッドは、引数が数値であるかどうかを判定します。
返り値は真偽値で、引数が数値であれば false、数値でなければ true を返します。
このメソッドを利用した便利なテクニック
isNaN() メソッドを使って、JSONオブジェクト内の文字列を数値に変換してから計算を行うことができます。
例えば、以下のようなJSONオブジェクトがあるとします。
1 2 3 4 |
{ ""num1"": ""10"", ""num2"": ""20"" } |
このJSONオブジェクト内の文字列を数値に変換してから計算を行うには、以下のようにします。
1 2 3 |
let num1 = parseInt(jsonObj.num1); let num2 = parseInt(jsonObj.num2); let sum = num1 + num2; |
また、isNaN() メソッドを使うと、JSONオブジェクト内の値が数値であるかどうかを確認することもできます。
1 2 3 |
if (!isNaN(jsonObj.num1) && !isNaN(jsonObj.num2)) { // 数値である場合の処理 } |
現場で実際にどのように使われているか
isNaN() メソッドは、引数がNaN(Not a Number)であるかどうかを判定するために使用されます。
例えば、以下のようなコードが使われることがあります。
1 2 3 4 5 6 |
// 数値を判定する if (isNaN(someNumber)) { console.log('someNumberはNaNです'); } else { console.log('someNumberはNaNではありません'); } |
JavaScriptのJSONオブジェクト isNaN() メソッドの使い方と一緒によく使われる処理
よく使われる処理は、文字列を数値に変換する処理です。
なぜなら、isNaN() メソッドは数値以外の値を検出するため、文字列を数値に変換しないと正しく動作しないからです。
使用する上での注意点
isNaN() メソッドは、引数が数値であるかどうかを判定するために使用しますが、文字列やオブジェクトを渡した場合は、正しい結果が返されない可能性があるため、注意が必要です。
JavaScriptのJSONオブジェクト isNaN() メソッドの使い方と似た処理のJSメソッド、違い
isFinite() メソッドと似ていますが、下記の違いがあります。
- isFinite() メソッドは、引数が有限かどうかを判定する
- isNaN() メソッドは、引数がNaNかどうかを判定する
JavaScriptのJSONオブジェクト isNaN() メソッドの使い方を使ったサンプルコードの紹介
isNaN() メソッドの使い方のサンプルコード1
1 2 3 |
// 例1 let num1 = ""Hello""; console.log(isNaN(num1)); |
isNaN() メソッドの使い方のサンプルコード2
1 2 3 |
// 例2 let num2 = ""123""; console.log(isNaN(num2)); |
isNaN() メソッドの使い方のサンプルコード3
1 2 3 |
// 例3 let num3 = ""123.45""; console.log(isNaN(num3)); |
JavaScript Numberオブジェクトの他メソッドについて
JavaScriptのNumberオブジェクトの他メソッドについては、下記記事にもまとめていますので参考にしてみてください
メソッド名 | 機能 | リンク |
isFinite() | 値が有限数かどうかを確認します | JavaScriptのNumberオブジェクト isfiniteメソッドの使い方 |
isInteger() | 値が整数であるかどうかを確認します | JavaScriptのisIntegerオブジェクト isIntegerメソッドの使い方 |
isNaN() | 値がnumber.nanであるかどうかを確認します | JavaScriptのNumberオブジェクト isNaNメソッドの使い方 |
isSafeInteger() | 値が安全な整数であるかどうかを確認します | JavaScriptのNumberオブジェクト isSafeIntegerメソッドの使い方 |
parseFloat() | 文字列を解析しますanは番号を返します | JavaScriptのNumberオブジェクト parseFloatメソッドの使い方 |
parseInt() | 文字列を解析すると、整数が返されます | JavaScriptのNumberオブジェクト parseIntメソッドの使い方 |
toExponential(x) | 数値を指数表記に変換します | JavaScriptのNumberオブジェクト toExponentialメソッドの使い方 |
toFixed(x) | 小数点以降にx数の数字で数字をフォーマットします | JavaScriptのNumberオブジェクト toFixedメソッドの使い方 |
toLocaleString() | ロケール設定に基づいて、数値を文字列に変換します | JavaScriptのNumberオブジェクト toLocaleStringメソッドの使い方 |
toPrecision(x) | 数字をxの長さをフォーマットします | JavaScriptのNumberオブジェクト toPrecisionメソッドの使い方 |
toString() | 数字を文字列に変換します | JavaScriptのNumberオブジェクト toStringメソッドの使い方 |
valueOf() | 数のプリミティブ値を返します | JavaScriptのNumberオブジェクト valueofメソッドの使い方 |
また、JavaScriptの公式ドキュメントであるMDNで記載されているNumberオブジェクトのisNaNメソッドについても補足としてリンクを貼っておきます。参考にしてみてください。