, если key1
не указано, ваш код выдаст ошибку, потому что key1
не является объектом. Вы можете назначить значения по умолчанию с деструктуризацией объекта,
const { myObject: { key1: { key2 } = {} } = {} } = this.props
const canAdd = key2 !== undefined
Этот код говорит: иди вытащи опору myObject
из this.props
, если ее там нет, назначь ее пустому объекту, затем найдите мне ключ key1
и, если его там нет, присвойте ему пустой объект, внутри key1
перейдите и возьмите значение key2
. Если key2
не является свойством key1
, key2
приведет к неопределенности.