all-threads-bot

Frontender`s Spectre

Nullish Coalescing в JavaScript: установка значений по умолчанию

6 апреля 2023 г., 12:23

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.