院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

真偽値

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 とかの判定について