【JavaScript】変数は定義されているのになぜかif文でfalseになる
JavaScriptで変数が定義されているかいないか(null or undefined)で条件分岐するときに以下のように書くと便利ですよね
if(str){
・・・
}
しかし、この書き方実は罠があるんです。
strが文字列のみの想定ならいいですが、数値も想定している場合、以下のような場合にfalseになるんです。
str=0;
if(str){ //falseになる
・・・
}
strは0で定義されているけど、falseになる。
実は、if文の条件が「0」というのはfalseということなんです。
数値も想定している場合は以下のように書く方が良いです。
str=0;
if(str !== null){ //trueになる
・・・
}
ディスカッション
コメント一覧
まだ、コメントがありません