Ложноподобное значение

Ложноподобное (falsy) значение — значение, которое становится false в булевом контексте.

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

В следующей таблице приведен полный список ложноподобных значений JavaScript:

Значение Описание
false Ключевое слово false.
0 Ноль Number (к нему также относятся 0.0, 0x0 и т.д.).
-0 Отрицательный ноль типа Number (к нему также относятся -0.0, -0x0 и т.д.).
0n Ноль типа BigInt (также 0x0n). Обратите внимание, что не может быть негативного нуля типа BigInt — отрицательный 0n равняется 0n.
"", '', `` Значение, содержащее пустую строку .
null null — отсутствие какого-либо значения.
undefined undefined — примитивное значение.
NaN (en-US) NaN — значение, не являющиеся числом.
document.all Объекты считаются ложноподобными тогда и только тогда, когда у них есть внутренний слот [[IsHTMLDDA]]. Этот слот есть только в объекте document.all, и его нельзя задать через JavaScript.

Примеры

Примеры ложноподобных значений в JavaScript (которые в булевых контекстах принудительно приводятся к false и таким образом минуют блок if):

js
if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (0n)
if (NaN)
if ("")

Оператор логического И, &&

Если первый операнд ложноподобен, то он будет возвращён в качестве результата:

js
false && "dog";
// ↪ false

0 && "dog";
// ↪ 0

Смотрите также