ブシトラの日記

エンジニア1年生の雑多記事

Javascript-primer memo 暗黙的型変換

暗黙的型変換

→ ある処理において、その処理過程で行われる明示的ではない型変換のこと

== と === の違い。

// `==`では、異なるデータ型は暗黙的な型変換をしてから比較される
// 暗黙的な型変換によって 1 == 1 のように変換されてから比較される
console.log(1 == "1"); // => true
// 暗黙的な型変換が行われ、数値の加算として計算される
1 + true; // => 2
// 次のように暗黙的に変換されてから計算される
1 + 1; // => 2

厳密等価演算子 === を使えばOk。正直、等価演算子の比較結果を全部覚えるのは無理

 

真偽値

JavaScriptでは、どの値がtrueでどの値がfalseになるかは、次のルールによって決まります。

  • falsyな値はfalseになる
  • falsyでない値はtrueになる

  • false
  • undefined
  • null
  • 0
  • 0n
  • NaN
  • ""(空文字列)
Boolean("string"); // => true
Boolean(1); // => true
Boolean({}); // => true
Boolean(0); // => false
Boolean(""); // => false
Boolean(null); // => false

 

まとめ

この章では暗黙的な型変換と明示的な型変換について学びました。

  • 暗黙的な型変換は意図しない結果となりやすいため避ける
  • 比較には等価演算子==)ではなく、厳密等価演算子===)を利用する
  • 演算子による暗黙的な型変換より、明示的な型変換をする関数を利用する
  • 真偽値を得るには、明示的な型変換以外の方法もある