← Назад к вопросам
Что такое Falsy значения в JavaScript?
1.0 Junior🔥 151 комментариев
#JavaScript Core
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Что такое Falsy значения в JavaScript?
Falsy (ложные) значения — это значения, которые при преобразовании в булев тип становятся `false`. Это фундаментальная концепция JavaScript, которая часто используется в условных выражениях, циклах и логических операциях.
Полный список Falsy значений
В JavaScript существует ровно 6 примитивных falsy значений:
false— булево значение false0— число ноль-0— отрицательный ноль0n— BigInt ноль""(пустая строка) — строка нулевой длиныnull— отсутствие значенияundefined— неинициализированная переменнаяNaN— не число (Not-a-Number)
Примеры использования
// Демонстрация falsy значений
if (false) console.log("не выполнится");
if (0) console.log("не выполнится");
if ("") console.log("не выполнится");
if (null) console.log("не выполнится");
if (undefined) console.log("не выполнится");
if (NaN) console.log("не выполнится");
// Boolean() преобразование
Boolean(false); // false
Boolean(0); // false
Boolean(""); // false
Boolean(null); // false
Boolean(undefined); // false
Boolean(NaN); // false
Практическое применение
Проверка существования переменной:
const user = null;
// Краткая проверка
if (!user) {
console.log("Пользователь не найден");
}
// С оператором Optional Chaining
const name = user?.name ?? "Гость";
Использование оператора || (OR):
// Установка значения по умолчанию
const count = userInput || 0;
const name = data.username || "Anonymous";
// Это работает потому что || возвращает первое truthy значение
const result = null || undefined || "default" || "other";
console.log(result); // "default"
Использование оператора && (AND):
// Условное выполнение
user && console.log(user.name);
// Эквивалентно
if (user) {
console.log(user.name);
}
Важные различия
Falsy ≠ Null/Undefined:
false == 0; // true (абстрактное равенство)
false === 0; // false (строгое равенство)
null == undefined; // true
null === undefined; // false
Пустой объект и массив — Truthy:
Boolean({}); // true
Boolean([]); // true
Boolean([0]); // true
// Это частая ошибка
if ([]) console.log("выполнится!");
if ({}) console.log("выполнится!");
Лучшие практики
- Используй === вместо == для точных проверок
- Явная проверка нулей:
value === null || value === undefined - Nullish coalescing ?? вместо || для обработки 0 и пустых строк
- Optional Chaining ?. для безопасного доступа к свойствам
// Безопасная работа с данными
const age = response.user?.age ?? 18;
const phone = data?.contact?.phone?.trim() || "не указан";
Понимание falsy значений критично для написания надёжного JavaScript кода, особенно при работе с данными из API и пользовательским вводом.