Truthy
JavaScriptは、特定の場所(例えば、if
条件文とbooleanの&&
||
オペレータ)で、Trueと評価される値(truthy
)の概念を持っています。次に示すものは、JavaScriptにおいてtruthyです。例えば0
以外の数値はtruthyです。
truthyでないものは、falsy
と呼ばれます。
これは開発者のための便利なリファレンスです。
変数の型
falsyな値
truthyな値
boolean
false
true
string
''
(空文字列)
その他の文字列
number
0
NaN
その他の数値
null
常にfalsy
なし
undefined
常にfalsy
なし
その他のオブジェクト({}
や[]
といった空のものも含む)
なし
常にtruthy
Booleanとして扱うことを明示的にする
The
!!
pattern
一般的に、boolean
として扱われる値を、それを本当のboolean
(true
|false
)に明示的に変換することは、良いことです。あなたは、!!
を使って値を本当のbooleanに簡単に変換できます。例えば、!!foo
です。これは単に!
を2回使っただけです。最初の!
は値をbooleanに変換しますが、その論理値を反転します。2つ目の!
は、その値を本来の値にマッチするよう再度反転させます(例えば、 truthy -!
> false
-!
> true
)。
これはあらゆる場面で共通的に使えるパターンです。
最終更新