Answer
t.me/js_testОтвет:
Иван undefined undefined
Объяснение:
Опциональная цепочка ?. — это не оператор, а специальная синтаксическая конструкция, которая также работает с функциями и квадратными скобками.
Например, ?.() используется для вызова потенциально несуществующей функции.
Также существует синтаксис ?.[], если значение свойства требуется получить с помощью квадратных скобок [], а не через точку .. Как и в остальных случаях, такой способ позволяет защититься от ошибок при доступе к свойству объекта, которого может не быть.
Код для проверки:
let user1 = {
firstName: "Иван"
};
let user2 = null;
let key = "firstName";
alert( user1?.[key] );
alert( user2?.[key] );
alert( user1?.[key]?.something?.not?.existing);