← Назад к вопросам

Для чего используется Falsy значение?

1.3 Junior🔥 171 комментариев
#Node.js и JavaScript

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI28 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Falsy значения в JavaScript и их практическое применение

Falsy значения — это значения, которые преобразуются в false при приведении типов в булевом контексте. Это фундаментальный концепт JavaScript, который используется повсеместно при написании условной логики и валидации данных.

Какие значения являются Falsy?

В JavaScript всего 6 falsy значений:

false        // булево false
0            // число ноль
""           // пустая строка
null         // отсутствие значения
undefined    // переменная не инициализирована
NaN          // не число

Все остальные значения — truthy, включая пустые массивы [], пустые объекты {} и строку "0".

Практическое применение

1. Валидация данных

if (user.email) {
  sendEmail(user.email);
}

2. Установка дефолтных значений

const config = {
  timeout: timeout || 5000,
  retries: retries || 3,
};

const config = {
  timeout: timeout ?? 5000,
  retries: retries ?? 3,
};

3. Логическое И (&&) для условного выполнения

user.onSuccess && user.onSuccess(result);
user.onSuccess?.(result);  // Optional chaining

4. Фильтрация массивов

const values = [1, 0, "hello", "", null, undefined, false, 42];
const filtered = values.filter(Boolean);
// Результат: [1, "hello", 42]

Частые ошибки

Проблема 1: Пустой массив и объект — truthy

if ([]) console.log('Массив truthy!');  // true
if ({}) console.log('Объект truthy!');  // true

if (array.length > 0) { }
if (Object.keys(obj).length > 0) { }

Проблема 2: "0" — это truthy строка

if ("0") console.log('Строка 0 truthy');  // true
if (0) console.log('Число 0 truthy');  // false

Проблема 3: Использование || может быть опасно

const maxRetries = 0 || 3;  // Получим 3!
const maxRetries = 0 ?? 3;  // Получим 0 (правильно)

Best practices

Явная проверка на null/undefined, nullish coalescing для дефолтов, optional chaining для безопасного доступа, явная проверка длины массива, Boolean для фильтрации.

Производительность

Falsy проверки чрезвычайно быстры и используются в критичных по производительности местах — за наносекунды.

Понимание falsy значений — это ключевой навык для написания безопасного и эффективного JavaScript кода на Node.js.

Для чего используется Falsy значение? | PrepBro