Back to questions
Simbirsoft
Middle
2
Чем отличается оператор нулевого слияния (??) от логического ИЛИ (||)?
Companies where asked
Answer from AI
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), а не при любом ложном значении.