Оператор нулевого слияния (Nullish Coalescing Operator) - это новый оператор, добавленный в язык JavaScript в стандарте ECMAScript 2020. Он используется для проверки, равно ли значение переменной null
или undefined
, и возвращает значение переменной, если она не равна null
или undefined
, иначе возвращает значение по умолчанию.
Синтаксис оператора нулевого слияния: variable1 ?? variable2
variable1
- переменная, значение которой нужно проверить.variable2
- значение по умолчанию, которое будет возвращено, еслиvariable1
равнаnull
илиundefined
.
Пример использования оператора нулевого слияния:
const name = null
const defaultName = "Guest"
const result = name ?? defaultName
console.log(result) // Вывод: "Guest"
В этом примере, переменная name
равна null
, поэтому оператор нулевого слияния возвращает значение переменной defaultName
, которое равно "Guest"
. Результат выполнения оператора нулевого слияния сохраняется в переменной result
.
Оператор нулевого слияния может быть полезен при работе с переменными, которые могут быть null
или undefined
, чтобы предотвратить исключения и ошибки, связанные с отсутствием значений.
Оператор нулевого слияния отличается от оператора логического ИЛИ (||
), который также может использоваться для проверки на null
или undefined
. Оператор ИЛИ возвращает первый истинный (truthy) операнд, что может привести к ошибочным результатам, если операнд равен 0
, ''
, false
, NaN
или другим ложным (falsy) значениям.
Пример с использованием оператора ИЛИ:
const name = ""
const defaultName = "Guest"
const result = name || defaultName
console.log(result) // Вывод: "Guest"
В этом примере, переменная name
равна пустой строке, которая является ложным значением. Оператор ИЛИ возвращает значение переменной defaultName
, что может быть неожиданным результатом. Поэтому оператор нулевого слияния рекомендуется использовать вместо оператора ИЛИ для проверки на null
или undefined
.