🔥
【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