TypeScript, являющийся расширенной версией JavaScript, предоставляет несколько мощных функций, повышающих производительность разработчиков и безопасность кода. Одной из таких функций является оператор двойного вопросительного знака (??
), который позволяет кратко и эффективно обрабатывать нулевые значения. В этой статье блога мы углубимся в оператор двойного вопросительного знака и рассмотрим различные методы и варианты использования, где его можно использовать. Мы будем приводить примеры кода, чтобы укрепить ваше понимание этого оператора.
- Основное использование:
Оператор двойного вопросительного знака служит нулевым оператором объединения. Он возвращает значение в левой части, если оно неnull
илиundefined
, в противном случае он оценивает и возвращает значение в правой части. Вот простой пример:
const value = null;
const result = value ?? "default value";
console.log(result); // Output: "default value"
- Объединение с помощью необязательного объединения:
Оператор двойного вопросительного знака можно эффективно использовать в сочетании с необязательным связыванием (?.
), еще одной полезной функцией 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"
- Значения параметров функции по умолчанию.
Оператор с двойным вопросительным знаком может установить значения по умолчанию для параметров функции, если они не указаны или равныnull
илиundefined
. Это упрощает обработку параметров и предотвращает ошибки. Вот пример:
function greet(name?: string) {
name = name ?? "stranger";
console.log(`Hello, ${name}!`);
}
greet(); // Output: "Hello, stranger!"
greet("Alice"); // Output: "Hello, Alice!"
- Обработка ошибок.
Оператор с двойным вопросительным знаком можно использовать для корректной обработки ошибок или непредвиденного поведения. Предоставляя резервные значения, вы можете предотвратить сбой вашей программы при обнаружении нулевых значений. Вот пример:
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.