JavaScript:IF文で0はfalseに変換される
数字でif判定をさせることは殆どなかったので軽く調べてみた。
テスト用js
function test(){ var x = 0; // 0をはじめ1,10,-10を試す if(x){ console.log("x : " + x); } } test();
結果
var x = 0 のときはfalse判定なので、コンソールに表示されない。
なんで0はfalseなの?
Boolean判定ルール
数字は0、-0、NaNがfalse判定で、他はtrue判定みたい。
ただし、"0"はtrue扱い。
参考サイト
Truth, Equality and JavaScriptjavascriptweblog.wordpress.com