Нулевой оператор объединения (??) - это логический оператор, который возвращает свой правый операнд, когда его левый операнд равен null
или undefined
, и в противном случае возвращает свой левый операнд.
В отличие от логического оператора OR (||
), левый операнд возвращается, если это ложное значение, которое не является null
или undefined
. Другими словами, если вы используете ||
, чтобы предоставить какое-либо значение по умолчанию другой переменной foo, вы можете столкнуться с неожиданным поведением, если вы считаете некоторые ложные значения пригодными для использования (например, " " или 0).
Пример: