技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

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がお勧め

参考

暗黙的な型変換 · JavaScript Primer #jsprimer