С годами JavaScript развивался благодаря новым функциям и обновлениям, упрощающим написание эффективного и современного кода. Одной из таких функций, представленной в ECMAScript 2023 (ES2023), является Nullish Coalescing, которая упрощает ваш код и помогает избежать нежелательных ошибок, вызванных нулевыми или неопределенными значениями.

Что такое нулевое объединение?

Nullish Coalescing — это функция, которая позволяет указать значение по умолчанию для переменной, если она равна null или не определена. Это альтернатива логическому оператору ИЛИ (||), который также предоставляет значение по умолчанию, но может привести к неожиданному поведению, если значением по умолчанию является ложное значение, например 0, или пустая строка ''.

Оператор Nullish Coalescing обозначается ?? и возвращает правостороннее выражение, если левостороннее выражение равно null или undefined, в противном случае он возвращает левостороннее выражение.

Синтаксис нулевого объединения

Синтаксис Nullish Coalescing прост. Вы используете оператор ??, чтобы указать значение по умолчанию для переменной. Вот пример:

const age = 0;
const defaultAge = age ?? 18;

В этом примере мы используем оператор Nullish Coalescing, чтобы установить для переменной defaultAge значение 18, если age равно null или undefined, иначе ей будет присвоено значение age.

Примеры использования нулевого объединения

Nullish Coalescing можно использовать в различных ситуациях, когда вам нужно предоставить значение по умолчанию для переменной, если это null или undefined. Некоторые распространенные варианты использования включают в себя:

  • Установка значений по умолчанию для аргументов функции:
function greet(name, message) {
  name = name ?? 'Anonymous';
  message = message ?? 'Hello';
  console.log(`${message}, ${name}!`);
}

greet(); // prints "Hello, Anonymous!"

В этом примере мы используем нулевое объединение, чтобы установить значения по умолчанию для параметров name и message функции greet, если они равны null или undefined.

  • Установка значений по умолчанию для свойств объекта:
const user = {
  name: 'John',
  age: 30
};

const city = user.city ?? 'Unknown';

В этом примере мы используем нулевое объединение, чтобы установить для переменной city значение «Неизвестно», если свойство city объекта user равно null или undefined.

  • Проверка, определено ли значение:
const value = null;
const isDefined = value ?? false;

В этом примере мы используем Nullish Coalescing, чтобы установить для переменной isDefined значение false, если value равно null или undefined.

Nullish Coalescing — это мощная функция, которая упрощает ваш код и помогает избежать нежелательных ошибок, вызванных значениями null или undefined. Его можно использовать в различных ситуациях, когда вам нужно предоставить значение по умолчанию для переменной, и теперь он широко поддерживается современными браузерами. Если вы еще не используете Nullish Coalescing в своем коде JavaScript, определенно стоит рассмотреть его как способ улучшить качество кода и снизить риск ошибок.