文字列の’0’は条件式ではtrueになるので注意
RubyやPHPでは’0’はtrueとして扱われるが、JavaScriptではfalse扱いとなる。
if ('0') {
console.log('true'); // trueが出力される
}
if (0) {
console.log('true'); // trueは出力されない
}
暗黙の型変換
等価演算子(==)で異なるデータ型を比較した場合に、同じ型となるように暗黙的な型変換が行われる。
(基本的にNumber型に変換される)
if ('0') {
console.log('true'); // trueが出力される
}
if ('0' == true) {
console.log('true'); // trueは出力されない⇒左辺がintの0に変換されてしまうため
}
コメント