ES11 — нулевой оператор объединения
Оператор Nullish Coalescing — это новая функция ES2020. Это символ ?? т. е. двойной вопросительный знак.
Это логический оператор, применяющий 2 операнда и возвращающий его значение:
1. Значение правого операнда, когда левый операнд равен нулю или не определен.
2. Значение правого операнда, когда правый операнд не равен нулю или не определен. .
Это будет полезно для резервного значения по умолчанию, когда свойства объекта пустые или неопределенные.
Синтаксис:
Левый операнд ?? Правый операнд
Давайте рассмотрим пример, чтобы лучше понять этот оператор:
Разница между логическим оператором ИЛИ и нулевым оператором объединения:-
?? считается нулевым значением, т. е. нулевым или неопределенным, но не логическими значениями. тогда как || считаются ложными значениями, т. е. null или undefined, или NaN, или « », или 0.
Возьмем пример: -
let result = value ?? 0;
console.log(result)
Если значение равно null, неопределенное значение, то значение по умолчанию равно 0 (ноль).
let result = value || 0;
console.log(result)
Если значение является одним из нулевых, неопределенных, пустых строк, т.е. « », 0 , значение NaN, то значение по умолчанию равно 0 (ноль).