PassFront
  1. PassFront
  2. База знаний
  3. Основы языка

Как называется оператор ??

Основы языка

Оператор `??` называется 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/'' валидны.

Другие вопросы раздела