Middle
25
Логикалық OR (||) және null-coalescing операторы (??) арасындағы айырмашылық неде?
Сұралған компаниялар
Data World
AI-дан жауап
sobes.tech AI
Логический оператор ИЛИ (||) и оператор нулевого слияния (??) похожи, но имеют важные отличия в поведении при проверке значений.
-
Оператор || возвращает первый операнд, который приводится к true в логическом контексте. Если первый операнд "ложный" (false, 0, '', null, undefined, NaN), он возвращает второй.
-
Оператор ?? возвращает первый операнд, если он не равен null или undefined, иначе второй.
Пример:
const a = 0;
console.log(a || 42); // 42, потому что 0 — ложное значение
console.log(a ?? 42); // 0, потому что 0 не null и не undefined
Таким образом, ?? полезен, когда нужно задать значение по умолчанию только если переменная null или undefined, а не для всех "ложных" значений.