Ложноподобное значение
Ложноподобное (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