【文字列⇔数値】JavaScriptのキャスト(型変換)の方法【現役SE解説】
今回は、JavaScriptのキャスト(型変換)の方法について、暗黙の型変換と明示的な型変換に分け、簡単に解説していきます。
暗黙のキャスト(型変換)
JavaScriptは動的型付けの言語のため、暗黙のキャストが行われます。
そのため、文字列型の数字で計算する際等も特に型を気にする必要はありません。
var number = "7"; number = number * 2; // 数値型の14となる number = number + "番"; // 文字列型の"14番"となる
上記のコードのように、文字列型で定義されたnumberも、計算をすると数値型になり、逆に文字列と連結すると文字列型に戻ります。
明示的なキャスト(型変換)
JavaScriptでは型を自動で変換してくれますが、明示的にキャストすることもできます。
文字列型から数値型へはNumberメソッドを、数値型から文字列型へはStringメソッドを使います。
var number = "7"; number = Number(number); // 明示的に数値型の7に変換 number = String(number); // 明示的に文字列型の"7"に変換
上記のコードでは、文字列型で定義されたnumberをNumberメソッドで数値型に変換し、その後数値型になったnumberをStringメソッドで再び文字列型に変換しています。
明示的なキャスト(型変換)が必要なケース
JavaScriptは動的型付けの言語のため、明示的にキャストしなければならないケースは少ないです。
しかし、例えば、JSONにして他のシステムとデータ連携を行うような場合では、安全のため、明示的にしておいた方が良いです。
var name = "山田太郎"; var gender = "男性"; var age = "22"; var person = {"name":name,"gender":gender,"age":Number(age)}; var json = JSON.stringify(person);
上記のコードでは、nameやgender、ageといったデータを連想配列にして、最後にJSONにしていますが、ageは数字であることを明確にするために事前に数値型へ変換しています。