初級 › == が意図しない型変換で真になってしまう(===との違い) › パターン2
== が意図しない型変換で真になってしまう(===との違い)
==は比較の前に両辺の型をそろえようとするため、文字列の"0"や空文字列、falseなどが数値の0と等しいと判定されてしまいます。
1 function isActive(status) { 2 return status ___ false; ^ 3 } 4 console.log(isActive("0"));
出力: true期待: false (エラーにはなりません)
空欄を埋めて実行を通す
文字列"0"は空でも0でもない、れっきとした真の値ですが、==はfalseと比較する際に両辺を数値に変換するため一致してしまいます。
次の問題