以下の式を用いる時、変数がfalsyかtruthyかで判定される。
if(変数) {}falsyとは、
console.log(Boolean(0)); //→falseといったようなBooleanで真偽値に変換された時にfalseになるもののことを言う。
- false
- null
- undefined
- 0
- 0n
- NaN
- “”(空文字)
以上がfalsyで、truthyはそれ以外である。
if("0"){} //true→文字列なら空文字のみfalse
if("false"){} //true→文字列なら空文字のみfalse
if(-1){} //true→数値は0のみfalse
if(!0){} //true→!をつけるとBooleanに変換されるのでfalseからtrueになる例えば以上の4つはtrueとなるのでtruthyである。
変数のみの条件だとあくまで上記のfalsyかtruthyかを判定しているので、もし0だけ弾きたい場合は
if(変数 !== 0) {}とする必要があり、またnullとundefinedのみを弾きたい場合は
if(変数 !== null && 変数 !== undefined) {}とする必要がある。
