Что означает оператор ?? в javascript

В документации next.js наткнулся на код вида:

store ?? initStore(preloadedState)
введите сюда описание изображения


Ответы (2 шт):

Автор решения: Grundy

Это Nullish coalescing operator (??) - в случае если переданное значение null или undefined вернет значение после ??

console.log(null ?? 'null/undefined val');
console.log(undefined ?? 'null/undefined val');
console.log(0 ?? 'null/undefined val');

→ Ссылка
Автор решения: Zhihar

Это оператор объединения с null:

https://learn.javascript.ru/nullish-coalescing-operator

Результат выражения a ?? b будет следующим:

  1. a, если значение a определено,
  2. b, если значение a не определено.

и равносильно следующему коду:

result = (a !== null && a !== undefined) ? a : b;

поскольку в javascript таких ситуаций было много, то добавили такую возможность

→ Ссылка