Разберем примеры значений которые являются ложными и истинными в JavaScript.
Например когда в JS мы делаем проверку if (0) { ... }, 0 преобразуется к ложному значению и равносилен false. А когда проверка идет на пустой массив if ([]) { ... }, то пустой массив будет приведен к значение true и это будет считаться истинным значением.
Далее приведены таблицы истинных и ложных значений в 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
if (false) // false
if (null) // false
if (undefined) // false
if (0) // false
if (-0) // false
if (0n) // false
if (NaN) // false
if ("") // falseИстинные значения в JavaScript
Любое значение которое не является ложным false, будет приведено к истинному true.
| Значение | Описание |
"abc", 'abc', `abc` | Любая не пустая строка, тип String. |
"0" | Строка с символом "0". Любая не пустая строка, тип String. |
"false" | Строка с текстом "false". Любая не пустая строка, тип String. |
100, -100,3.14, -3.14 | Любое положительное или отрицательное число, не являющееся нулем. Тип Number. |
12n | Число типа BigInt, не являющееся нулем. |
Infinity, -Infinity | Бесконечность и минус бесконечность является истинным значением. |
[] | Пустой массив является истинным true |
{} | Пустой объект является истинным true |
Примеры истинных значений в JavaScript
if (true) // true
if ({}) // true
if ([]) // true
if (42) // true
if ("0") // true
if ("false") // true
if (new Date()) // true
if (-42) // true
if (12n) // true
if (3.14) // true
if (-3.14) // true
if (Infinity) // true
if (-Infinity) // true






