Также можно использовать оператор опциональной последовательности (optional chaining), доступный начиная с ECMAScript 2020:
const obj = {
a: {
b: {
c: 1
}
}
};
Проверяем наличие ключа "c" в объекте "b", который является свойством объекта "a"
if (obj?.a?.b?.c) {
console.log('Ключ "c" существует');
} else {
console.log('Ключ "c" не существует');
}
В этом случае оператор "?" проверяет наличие свойств "a", "b" и "c" в объекте, и если хотя бы один из них отсутствует, то результатом выражения будет undefined. Если все свойства существуют, то выражение вернет значение ключа "c".