真偽値
rubyの真偽値
偽 - nil, falseのみ
真 - 偽以外
javascriptの真偽値
偽 - null, false, undefined, 0, NaN, ""(空文字)
真 - 偽以外
javascriptで下記のように書いたときの注意点
if (hoge) { ... }
・hoge=0もfalseになる
・hoge=""はfalseだが、hoge=[]とhoge={}はtrue
・空の配列チェックは hoge.length > 0
・空のオブジェクトチェックは Object.keys(hoge).length > 0
・nilガードで使う||も同じ扱い
if (value == null) {}
実行されるのはvalue = null, undefinedの場合のみ
イコールはが2つなことに注意
//現段階の謎 if ([] == false) { // 実行される } if ([] == true) { // 実行されない } if ([]) { // 実行される }
[JavaScript] null とか undefined とか 0 とか 空文字('') とか false とかの判定について