Этот вопрос проверяет понимание опциональной цепочки (optional chaining) в JavaScript, которая позволяет безопасно обращаться к свойствам вложенных объектов.
Опциональная цепочка (?.) — это оператор в JavaScript, который позволяет безопасно обращаться к свойствам вложенных объектов без проверки существования каждого уровня. Если какое-либо свойство в цепочке равно null или undefined, выражение возвращает undefined вместо ошибки. Это упрощает код и делает его более читаемым.
Опциональная цепочка (optional chaining) — это синтаксис, который помогает избежать ошибок при обращении к свойствам объектов, которые могут быть null или undefined.
Как работает:
Используется оператор ?.
Если свойство перед ?. равно null или undefined, выражение возвращает undefined
Если свойство существует, обращение происходит как обычно
Примеры использования:
const user = {
profile: {
name: "Alice",
address: {
city: "Moscow"
}
}
};
// Без опциональной цепочки (громоздко)
const city = user && user.profile && user.profile.address && user.profile.address.city;
// С опциональной цепочкой (просто)
const citySafe = user?.profile?.address?.city;
console.log(citySafe); // "Moscow"
// Если свойства нет
const zipCode = user?.profile?.address?.zipCode;
console.log(zipCode); // undefinedПрименение:
Для безопасного доступа к свойствам API-ответов
При работе с конфигурационными объектами
Для упрощения кода с множественными проверками