JavaScriptにおける文字列’0’の扱い

スポンサーリンク

文字列の’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に変換されてしまうため
} 

コメント