Sobes.tech
Назад к вопросам
Middle
1

Чем отличается оператор нулевого слияния (??) от логического ИЛИ (||)?

Компании, где спрашивали
SimbirsoftSimbirsoft

Ответ от нейросети

sobes.tech AI

Оператор нулевого слияния ?? возвращает правый операнд, только если левый операнд равен null или undefined. В отличие от логического ИЛИ ||, который возвращает правый операнд, если левый операнд приводится к false (то есть если он ложный: false, 0, '', null, undefined, NaN).

Пример:

const a = 0;
console.log(a || 42);  // 42, потому что 0 — ложное значение
console.log(a ?? 42);  // 0, потому что a не null и не undefined

Таким образом, ?? полезен, когда нужно задать значение по умолчанию только при отсутствии значения (null или undefined), а не при любом ложном значении.