Нулевой оператор объединения (??)

Нулевой оператор объединения (??) — это новый оператор, представленный в ECMAScript 2020 (также известный как ES11). Он используется для предоставления значения по умолчанию, когда переменная имеет значение null или не определена.

В JavaScript, когда вы хотите установить значение по умолчанию для переменной, которая может быть нулевой или неопределенной, вы часто используете логический оператор ИЛИ (||). Например:

Однако у этого подхода есть ограничение: если переменная является ложной, но не нулевой или неопределенной (например, это может быть пустая строка или число 0), значение по умолчанию все равно будет присвоено. Например:

Для решения этой проблемы был введен нулевой оператор объединения (??). Он проверяет только нулевые или неопределенные значения и игнорирует другие ложные значения. Например:

Таким образом, оператор объединения Nullish позволяет более точно и безопасно предоставлять значения по умолчанию для переменных, которые могут быть нулевыми или неопределенными.