A210 変数の型の変換

JavaScript で使用される色々なデータ型の値は、必要に応じて自動的に型が変換されます。ここでは型変換が行われるときにどのように変換されるのかについて紹介します。

型の変換方法

文字列(String型)への変換

文字列への変換は、「+」演算子の左辺もしくは右辺が文字列であった場合にもう片方の値は自動的に文字列に変換されます。

JavaScript
let string = '文字列' + 1;
// '文字列1'となる

もしくは、下記の様に明示的に文字列に変換することもできます。

JavaScript
let number = 1;

String(number);
number.toString();
//上記二つのどちらでも文字列へ変換されます。

数値(Number型)への変換

数値への変換は、「-」や「*」演算子などで数値と演算を行った場合、対象の値は数値に自動的に変換されます。

JavaScript
let num = 3 - 2;
//numは数値型として1となる。

もしくは、下記の様に明示的に文字列に変換することもできます。

JavaScript
let num = '1';

Number(num);
//numは数値型として1となる。

論理値(Boolean型)への変換

論理値への変換は、 if 文の条件式などに値が記述された場合です。

JavaScript
if (){
  ...
}

もしくは、下記のように明示的に論理値に変換することもできます。

JavaScript
let num = '1';

Boolean(num);
//文字列'1'はtrueを返します。

例題

以下のコードにて出力されるデータの型はどれか

JavaScript
let number = 1;

number = String(number);
console.log(number);
  1. 数値型
  2. 文字列型
  3. 論理型
  4. シンボル型
回答

2. 文字列型

String(値)で”値”を文字列に変換するため

エンジニアからのアドバイス

処理の過程で明示的ではない型変換を行ってしまうとエラーが出る、もしくはエラーが出ないままバグが発生してしまう可能性があります。この様な暗黙的な型変換が行われてしまうとバグの発見が難しくなるので、意識的に避けましょう。

---