В JavaScript каждое значение по своей природе является truthy или falsy — то есть вычисляется как true или false когда используется в булевом контексте (например, в if-выражении или логическом операторе).
В JavaScript ровно 8 falsy значений:
false, 0, -0, 0n, "", null, undefined, NaN
false — булево false0, -0 — нулевые значения0n — BigInt ноль"" — пустая строкаnull и undefined — отсутствие значенияNaN — не числоВсё остальное считается truthy. Частые примеры, которые удивляют разработчиков:
"0" — строка, содержащая ноль"false" — строка, содержащая слово false[] — пустой массив{} — пустой объектif ("") console.log("falsy"); // не выведется
if ("0") console.log("truthy"); // выведется
if ([]) console.log("truthy"); // выведется
Понимание truthy и falsy значений помогает писать более чистые условия и избегать неочевидных ошибок — например, использовать if (value) вместо if (value !== null && value !== undefined).
Строка '0' является falsy в JavaScript, потому что она представляет числовое значение ноль.
Новый — ещё не проверен сообществом
Вы