Справочник JavaScript
Опциональная цепочка ?.: безопасный доступ
Оператор ?. останавливает вычисление и возвращает undefined, если значение слева равно null или undefined. Это сокращает проверки вложенных необязательных данных.
Рабочий пример
const city = user.profile?.address?.city ?? "Город не указан";
const firstItem = order.items?.[0];
onComplete?.(order);Оператор не скрывает ошибку обращения к необъявленной переменной и не проверяет другие ложные значения вроде 0 или пустой строки. Он работает только с null и undefined.
Когда применять
Применяй ?. там, где отсутствие значения предусмотрено моделью данных. Если поле обязательно, лучше обнаружить ошибку, а не молча продолжать с undefined.
Проверь пример самостоятельно: измени исходные данные, убери одну строку и сравни результат. Такой короткий эксперимент помогает увидеть роль каждого свойства или метода и не превращает обучение в механическое копирование.
Частые ошибки
- Ставить ?. на каждом доступе без понимания модели
- Путать отсутствие со значением false
- Пытаться присвоить значение через optional chaining
Задание
Без ошибок выведи город пользователя, первый заказ и вызови необязательный callback.
Проверка: результат должен работать с клавиатуры, не создавать ошибок в консоли и оставаться понятным без пояснений автора.