Когда вы работаете с вложенными объектами, может возникнуть ситуация: одного из свойств не существует, и код ломается. Чтобы этого избежать, в JavaScript появилась удобная конструкция — опциональная цепочка.
Что такое ?.?
?. — это оператор, который позволяет безопасно обратиться к вложенному свойству объекта. Если какого-то промежуточного свойства нет, возвращается undefined вместо ошибки.
Пример без опциональной цепочки
Допустим, у нас есть объект с информацией о водителе:
А если у водителя нет машины?
Как спасает ?.
С опциональной цепочкой ваш код не упадёт:
Аналогия из жизни
Представьте, вы спрашиваете: «У Анны есть машина? А модель?» — если она не водит авто, вы не получаете ошибку, просто узнаёте: «Нет машины».
Где ещё работает ?.
1. Доступ к методам
2. Доступ к элементам массива
Важный момент
Вы не можете использовать ?. при присваивании — только для чтения:
Опциональная цепочка — мощный инструмент для безопасного доступа к свойствам. Она избавляет от длинных проверок и делает код чище и стабильнее. Особенно полезна, если вы работаете с внешними данными, где структура может быть не гарантирована.