Как называется оператор ??
Основы языка
Оператор `??` называется nullish coalescing (нулевое слияние / оператор нулевого слияния). Возвращает правый операнд, если левый `null` или `undefined`.
Название
- Английское: nullish coalescing operator.
- Русское: оператор нулевого слияния (или «слияния с null»).
Что делает
Возвращает правый операнд, только если левый — null или undefined:
null ?? 'default'; // 'default'
undefined ?? 'default'; // 'default'
0 ?? 'default'; // 0 (не null/undefined)
'' ?? 'default'; // ''
false ?? 'default'; // falseОтличие от ||
|| срабатывает на все falsy (0, '', false), а ?? — только на null/undefined:
0 || 'default'; // 'default' — 0 falsy
0 ?? 'default'; // 0 — не nullishСвязанные операторы
- `??=` — nullish assignment (присвоить, если null/undefined):
options.limit ??= 20;- `?.` — optional chaining (опциональная цепочка), часто в паре:
user?.name ?? 'Гость';Коротко для собеседования
?? называется nullish coalescing (оператор нулевого слияния). Возвращает правый операнд, если левый null или undefined (в отличие от ||, реагирующего на все falsy). Связанные: ??= (nullish assignment), ?. (optional chaining). Точнее || для значений по умолчанию, когда 0/'' валидны.