Falsy
Ложное (falsy) значение - это значение, которое считается ложным, когда встречается в контексте Boolean .
JavaScript использует Type Conversion для приведения любого значения к логическому в контекстах, которые требуют его, такие как условные выражения и циклы.
В JavaScript есть только 7 ложных значений
Это означает, что когда JavaScript ожидает логическое значение и ему присваивается одно из значений ниже, он всегда будет оцениваться как «ложное»
false | Ключевое слово false |
0 | Число zero |
0n |
BigInt , при использовании в качестве логического значения, следует тому же правилу, что и число. 0n - это ложь. |
"", '', `` |
Это пустая строка(длина строки ноль). Строки в JavaScript могут быть определены с помощью двойных кавычек (") или одинарных кавычек ('), а также |
null | null - отсутствие какого-либо значения |
undefined | undefined - примитивное значение |
NaN | NaN - не число |
Примеры
Примеры ложных значений в JavaScript (которые приводятся к ложному в булевых контекстах и, таким образом, обходят блок if):
if (false)
if (null)
if (undefined)
if (0)
if (0n)
if (NaN)
if ('')
if ("")
if (``)
if (document.all)
Логический оператор И, &&
Если первый объект ложный, он возвращает этот объект
let pet = false && "dog";
// ↪ false
В прошлом для обнаружения браузером использовался document.all
, а Спецификация HTML здесь определяет преднамеренное нарушение стандарта ECMAScript для сохранения совместимости с устаревшим кодом. (if (document.all) { // Internet Explorer code here(except IE11) }
or using document.all
without checking its presence first: document.all.foo
).
Иногда пишется falsy, хотя на английском языке обычно превращают слово в прилагательное с окончанием -y, любое окончание e отбрасывается(noise => noisy, ice => icy, shine => shiny)