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