Справочник JavaScript
Nullish coalescing ??: значение по умолчанию
Оператор ?? возвращает правую часть только тогда, когда слева null или undefined. В отличие от ||, он не заменяет корректные значения 0, false и пустую строку.
Рабочий пример
const count = settings.count ?? 10;
const sound = settings.sound ?? true;
const label = settings.label ?? "Без названия";Выражение a ?? b читается как «a, если оно задано, иначе b». Без скобок нельзя смешивать ?? с && или || из-за защиты от неоднозначности.
Когда применять
Оператор хорошо работает с настройками и данными API, где null означает отсутствие. Для запасного значения при любой ложности по-прежнему может подходить ||.
Проверь пример самостоятельно: измени исходные данные, убери одну строку и сравни результат. Такой короткий эксперимент помогает увидеть роль каждого свойства или метода и не превращает обучение в механическое копирование.
Частые ошибки
- Использовать || и случайно заменять ноль
- Считать NaN или пустую строку nullish
- Смешивать операторы без скобок
Задание
Настрой значения по умолчанию так, чтобы нулевая скидка и выключенный звук сохранялись.
Проверка: результат должен работать с клавиатуры, не создавать ошибок в консоли и оставаться понятным без пояснений автора.