Truthy
JavaScript має концепцію "істинності" (truthy
), тобто речей, які оцінюються як true
в певних контекстах (наприклад, в умовах оператора if
та логічних операторах &&
та ||
). Наступні речі є істинними в JavaScript. Наприклад, будь-яке число, крім 0
, наприклад:
Те, що не є істиною (truthy), зветься хибним (falsy).
Ось зручна таблиця для вашої довідки:
Значення
falsy
truthy
boolean
false
true
string
''
(empty string)
будь-який string
number
0
NaN
будь-який number
null
завжди
ніколи
undefined
завжди
ніколи
Будь-який Object, в тому числі порожній {}
,[]
ніколи
завжди
Бути явним:
Шаблон !!:
Досить часто буває корисно чітко вказати, що ви хочете розглядати значення як boolean
і перетворити його в правильне булеве значення (одне з true
|false
). Ви можете легко перетворити значення на істинний булевий вираз, додавши до нього префікс !!
, наприклад !!foo
. Просто !
використовується двічі. Перший !
перетворює змінну (у цьому випадку foo
) на булеве значення, але інвертує логіку (truthy -!
> false
, falsy -!
> true
). Другий перемикає її знову, щоб відповідати природі початкового об'єкта (наприклад, truthy -!
> false
-!
> true
).
Цей шаблон часто використовується в багатьох місцях, наприклад:
Last updated