Falsy

Ложное (falsy) значение - это значение, которое считается ложным, когда встречается в контексте Boolean .

JavaScript использует Type Conversion для приведения любого значения к логическому в контекстах, которые требуют его, такие как условные выражения и циклы.

В JavaScript есть только 7 ложных значений

Это означает, что когда JavaScript ожидает логическое значение и ему присваивается одно из значений ниже, он всегда будет оцениваться как «ложное»

false Ключевое слово false
0 Число zero
0n BigInt, при использовании в качестве логического значения, следует тому же правилу, что и число. 0n - это ложь.
"", '', ``

Это пустая строка(длина строки ноль). Строки в JavaScript могут быть определены с помощью двойных кавычек (") или одинарных кавычек ('), а также Template literals (`)

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)

Узнать больше