Nullish coalescing (??)
Возвращает значение справа, если слева null или undefined.
Доступно с: ES2020
Синтаксис
value ?? defaultValueПримеры
Значение по умолчанию:
const name = null;
console.log(name ?? 'Guest');Результат:
GuestОтличие от || — 0 и пустая строка сохраняются:
const count = 0;
console.log(count ?? 10);
console.log(count || 10);Результат:
0
10Примечания
Используйте ?? для значений по умолчанию, когда 0, '' и false — нормальные значения. Оператор || заменяет любое ложное значение.
См. также
- Logical OR (||) — Логическое ИЛИ: возвращает первое истинное значение.
- Optional chaining (?.) — Безопасное обращение к свойству: вернёт undefined вместо ошибки, если объекта нет.
- Logical assignment (??=, ||=, &&=) — Присваивает значение, только если переменная пустая, ложная или истинная.
Вопросы и ответы по теме
В учебнике
- Логические операторы — Логические операторы JavaScript — И, ИЛИ, НЕ, их приоритет, значения по умолчанию через || и оператор ??.