Изучение оператора двойного вопросительного знака в TypeScript: подробное руководство

TypeScript, являющийся расширенной версией JavaScript, предоставляет несколько мощных функций, повышающих производительность разработчиков и безопасность кода. Одной из таких функций является оператор двойного вопросительного знака (??), который позволяет кратко и эффективно обрабатывать нулевые значения. В этой статье блога мы углубимся в оператор двойного вопросительного знака и рассмотрим различные методы и варианты использования, где его можно использовать. Мы будем приводить примеры кода, чтобы укрепить ваше понимание этого оператора.

  1. Основное использование:
    Оператор двойного вопросительного знака служит нулевым оператором объединения. Он возвращает значение в левой части, если оно не nullили undefined, в противном случае он оценивает и возвращает значение в правой части. Вот простой пример:
const value = null;
const result = value ?? "default value";
console.log(result); // Output: "default value"
  1. Объединение с помощью необязательного объединения:
    Оператор двойного вопросительного знака можно эффективно использовать в сочетании с необязательным связыванием (?.), еще одной полезной функцией TypeScript. Необязательная цепочка позволяет получать доступ к вложенным свойствам без выдачи ошибки, если какое-либо промежуточное свойство имеет значение nullили undefined. Вот пример:
const user = {
  name: "John",
  address: {
    city: "New York",
  },
};
const cityName = user.address?.city ?? "Unknown";
console.log(cityName); // Output: "New York"
const invalidCityName = user.address?.nonExistingProperty ?? "Unknown";
console.log(invalidCityName); // Output: "Unknown"
  1. Значения параметров функции по умолчанию.
    Оператор с двойным вопросительным знаком может установить значения по умолчанию для параметров функции, если они не указаны или равны nullили undefined. Это упрощает обработку параметров и предотвращает ошибки. Вот пример:
function greet(name?: string) {
  name = name ?? "stranger";
  console.log(`Hello, ${name}!`);
}
greet(); // Output: "Hello, stranger!"
greet("Alice"); // Output: "Hello, Alice!"
  1. Обработка ошибок.
    Оператор с двойным вопросительным знаком можно использовать для корректной обработки ошибок или непредвиденного поведения. Предоставляя резервные значения, вы можете предотвратить сбой вашей программы при обнаружении нулевых значений. Вот пример:
function divide(a: number, b: number) {
  const result = a / (b ?? 1);
  console.log(`Result: ${result}`);
}
divide(10, 5); // Output: "Result: 2"
divide(10, 0); // Output: "Result: Infinity"
divide(10, null); // Output: "Result: 10"

Оператор двойного вопросительного знака в TypeScript обеспечивает краткий и эффективный способ обработки нулевых значений, гарантируя, что ваш код останется чистым и читаемым. В этой статье мы рассмотрели различные методы использования оператора двойного вопросительного знака, включая базовое использование, цепочку с необязательной цепочкой, значения параметров функции по умолчанию и обработку ошибок. Эффективно используя этот оператор, вы можете повысить надежность своих приложений TypeScript.