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