JavaScritpの暗黙的型変換について
JavaScritpの暗黙的型変換について
JavaScriptでは演算子による演算や関数の処理過程で暗黙的な型変換が行われます。
例
// 異なる型である場合に暗黙的な型変換が行われる console.log(1 == "1"); // => true console.log(0 == false); // => true console.log(10 == ["10"]); // => true
さまざまな暗黙的な型変換
1 + "2"; // => "12" // 演算過程で次のように暗黙的な型変換が行われる "1" + "2"; // => "12"
上記のように2つまでなら、結果の型を予想できます。 しかし、3つ以上の値を扱う場合に結果を予測するのが難しくなります。
const x = 1, y = "2", z = 3; console.log(x + y + z); // => "123" console.log(y + x + z); // => "213" console.log(x + z + y); // => "42"
まとめ
JavaScriptは、型エラーに対して暗黙的な型変換をしてしまうなど、驚くほど曖昧さを許容しています。
思わぬバグに繋がるので顕著なアプリケーション作りたいならTypeScriptがお勧め