Правильно ли сравнивать неиспользуемый ключ в объекте с неопределенным? - PullRequest
0 голосов
/ 23 октября 2019

Я получаю объект от родительского компонента через реквизит, значение key2 может быть неопределенным. Правильно ли использовать подобное сравнение?

const { myObject } = this.props
const canAdd = myObject.key1.key2 !== undefined

1 Ответ

1 голос
/ 23 октября 2019

, если key1 не указано, ваш код выдаст ошибку, потому что key1 не является объектом. Вы можете назначить значения по умолчанию с деструктуризацией объекта,

const { myObject: { key1: { key2 } = {} } = {} } = this.props const canAdd = key2 !== undefined

Этот код говорит: иди вытащи опору myObject из this.props, если ее там нет, назначь ее пустому объекту, затем найдите мне ключ key1 и, если его там нет, присвойте ему пустой объект, внутри key1 перейдите и возьмите значение key2. Если key2 не является свойством key1, key2 приведет к неопределенности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...