javascript Вопросительный знак после точки, обращение к свойству объекта (Оператор опциональной последовательности)

Рассмотрим пример работы оператора опциональной последовательности .? :

let a =  null;
let c = undefined;
console.log(a?.b);
console.log(c?.b);

-- оператор позволяет избежать падения программы с выбросом иключения при обращении к свойству переменной в то время как значение этой переменной является не объектом, а содержит null или undefined.

Если переменная, для которой проводится обращение к свойству содержит null или undefined, то опаратор .? возвращет значение undefined и выполнение программы продолжается.

Для лучше понимания сравните работу кода выше с вариантом:

let a =  null;
console.log(a.b);

Подробнее: https://developer.mozilla.org/ru/docs/We...