IT業界のすみっこ暮らし

ふと気がついたときの記録

JavaScript:IF文で0はfalseに変換される


数字でif判定をさせることは殆どなかったので軽く調べてみた。

テスト用js

function test(){
    var x = 0; // 0をはじめ1,10,-10を試す
  if(x){
    console.log("x : " + x);
  }
}

test();

結果

f:id:papamau:20170825181304p:plain

var x = 0 のときはfalse判定なので、コンソールに表示されない。

なんで0はfalseなの?

Boolean判定ルール

f:id:papamau:20170825181821p:plain

数字は0、-0、NaNがfalse判定で、他はtrue判定みたい。
ただし、"0"はtrue扱い。

参考サイト

Type Conversions

Truth, Equality and JavaScriptjavascriptweblog.wordpress.com



プライバシーポリシー