JavaScriptでNaNを数値に変換する方法を解説
JavaScriptでは、Number()関数を使うことで値を数値型に変換できます。しかし、NaN(Not-a-Number)自体を数値に変換した場合、結果もそのままNaNになります。これは、NaNが「数値ではない」という特別な状態を表すためです。
基本的な変換例
以下のコードを実行して、NaNを数値に変換する挙動を確認してみましょう。
<!DOCTYPE html>
<html>
<body>
<p>Convert NaN to Number</p>
<script>
var val = NaN;
document.write("Number : " + Number(val));
</script>
</body>
</html>
実行結果
Number : NaN
解説
Number(val)を実行すると、引数の値が数値型へと変換されます。ここでvalにはNaNが代入されているため、変換後の結果もNaNとなります。つまり、NaNは数値型(number型)に属する特殊な値であり、変換しても「有効な数値」にはならない点に注意が必要です。
NaNかどうかを判定する方法
変換結果がNaNになっているかを確認したい場合は、isNaN()やより厳密なNumber.isNaN()を使用します。
var val = NaN; console.log(Number(val)); // NaN console.log(isNaN(Number(val))); // true console.log(Number.isNaN(val)); // true
Number.isNaN()は、グローバルなisNaN()と異なり、暗黙的な型変換を行わないため、意図しない判定ミスを防げます。数値処理を行う際は、こちらの使用が推奨されます。
-
JavaScriptで空の配列[]をブール値(true/false)に変換する方法
JavaScriptでは、Boolean()メソッドを使うことで、任意の値をブール値(true / false)に変換できます。空の配列 [] をブール値に変換したい場合も、このメソッドがそのまま利用可能です。重要なポイント:空の配列は「true」になるJavaScriptでは、空の文字列や数値の 0、null、undefined などは「falsy(偽とみなされる値)」として扱われます。しかし、配列はオブジェクトの一種であるため、要素が空の [] であってもtrue に変換されます。直感に反して感じられるため、初心者が混乱しやすい点として知られています。サンプルコード以下のコードを実行すると
-
JavaScriptで空の配列[]を文字列に変換する方法
JavaScriptでは、String()メソッドを使うことで、空の配列[]を文字列に簡単に変換できます。この記事では、具体的なコード例を交えながら、その方法をわかりやすく解説します。String()メソッドによる変換String()は、あらゆる型の値を文字列に変換するためのグローバル関数です。空の配列に対して使用すると、結果は空文字列("")になります。これは、配列が文字列化される際に各要素がカンマで連結される仕様によるもので、要素が存在しない空の配列の場合は何も連結されないためです。サンプルコード以下のコードを実行すると、空の配列[]が文字列に変換される様子を確認できま