Есть ли короткая запись для такой конструкции?

Вот для такого кода:

const ob = { a: {b: 2}};
const c = ob && ob.a && ob.a.b;

есть какой-то синтаксический сахар для второй строки?

Например, что-то похожее на это:

const c = ob?.a?.b;

Ответы (1 шт):

Автор решения: Grundy

Такой синтаксис уже ввели, и назвали optional chaining

Варианты использования

const c = ob?.a?.b;
const c = ob?.['a']?.['b'];

const c = ob?.().a?.().b; // в случае вызова функции

поддерживается в большинстве реализаций, кроме IE и EDGE на старом движке, а также nodejs < 14 версии

→ Ссылка