🔥

【JavaScript Primer】暗黙的な型変換

2021/11/21に公開

JavaScript Primerより

暗黙的な型変換

暗黙的な型変換は意図しない結果となりやすいため避ける

  • JSは型変換に曖昧さを持っているため、想定しない暗黙的な型変換が行われる可能性がある。

比較には等価演算子(==)ではなく、厳密等価演算子(===)を利用する

  • 暗黙的な型変換による比較をおこなわないため

演算子による暗黙的な型変換より、明示的な型変換をする関数を利用する

  • 暗黙的な型変換では意図しない結果となる可能性があるため

真偽値を得るには、明示的な型変換以外の方法もある

  • Booleanを使った型変換はあいまいさが残るため、別の方法で考える
  • 【NG】Booleanコンストラクタ
// 空文字列かどうかを判定
function isEmptyString(str) {
    // `str`がfalsyな値なら、`isEmptyString`関数は`true`を返す
    return !Boolean(str);
}
  • 【OK】こちらのほうが正確
// 空文字列かどうかを判定
function isEmptyString(str) {
    // String型でlengthが0の値の場合はtrueを返す
    return typeof str === "string" && str.length === 0;
}

Discussion