Nullish Coalescing в JavaScript: установка значений по умолчанию
Nullish Coalescing - это оператор в JavaScript, который используется для проверки значений на равенство null
или undefined
. Оператор позволяет устанавливать значение по умолчанию, если переменная равна null
или undefined
.
Синтаксис оператора выглядит следующим образом: a ?? b
, где a
- переменная, которую необходимо проверить, а b
- значение, которое будет установлено по умолчанию, если a
равна null
или undefined
.
Ранее в JavaScript для проверки значения переменной на null
или undefined
использовался оператор ||
. Однако этот оператор имеет некоторые недостатки. Например, если значение переменной равно ''
, 0
, false
, то оператор ||
вернет значение по умолчанию, что может привести к ошибкам.
Оператор Nullish Coalescing же рассматривает только null
или undefined
, что позволяет избежать подобных ошибок. Кроме того, он более явно показывает намерение программиста установить значение по умолчанию, если переменная не имеет значения.
Пример использования оператора Nullish Coalescing:
const x = null;
const y = undefined;
const z = 0;
console.log(x ?? 'default value'); // выведет 'default value'
console.log(y ?? 'default value'); // выведет 'default value'
console.log(z ?? 'default value'); // выведет 0
Кроме оператора Nullish Coalescing, существует также его расширенная версия - Nullish Coalescing Assignment. Этот оператор используется для установки значения по умолчанию для переменной, только если она имеет значение null
или undefined
. Если же переменная имеет любое другое значение, то она останется неизменной.
Синтаксис оператора выглядит следующим образом: a ??= b
, где a
- переменная, которую необходимо проверить и изменить, а b
- значение, которое будет установлено по умолчанию, если a
равна null
или undefined
.
Пример использования оператора Nullish Coalescing Assignment:
let x = null;
let y = undefined;
let z = 0;
x ??= 'default value';
y ??= 'default value';
z ??= 'default value';
console.log(x); // выведет 'default value'
console.log(y); // выведет 'default value'
console.log(z); // выведет 0
Таким образом, Nullish Coalescing Assignment позволяет удобно и безопасно устанавливать значение по умолчанию для переменных в JavaScript.
В заключение можно сказать, что использование оператора Nullish Coalescing может повысить читаемость и безопасность кода, поэтому его стоит рассмотреть при разработке программ на JavaScript.