Деструктуризация объекта или необязательная цепочка, которая лучше кода? - PullRequest
0 голосов
/ 14 апреля 2020

Учитывая, что есть два способа написания кода, какой из них лучше с точки зрения эффективного кода? const { match: { params: { clientId = '' } } } = this.props; const clientId = this.props?.match?.params?.clientId ?? '' NB. Мы можем игнорировать тот факт, что любой из посредников может быть нулевым. Мой вопрос более конкретен c с точки зрения того, почему каждый по умолчанию использует деструктуризацию объекта, когда он может быть записан просто как во втором формате

1 Ответ

1 голос
/ 14 апреля 2020

Конечно, это будет то же самое, поскольку они оба поддерживают ссылку, но представьте, если вы хотите извлечь несколько ключей из вашего реквизита?

const { match: { params: { clientId = '', clientName = '' } } } = this.props;

vs 

const clientId = this.props?.match?.params?.clientId ?? ''
const clientName = this.props?.match?.params?.clientName ?? ''

Первый метод (деструктуризация объекта) будет более краткий.

Но, конечно, если у вас есть настройка eslint (с настройкой airbnb) в вашем проекте, правило prefer-destructuring будет включено по умолчанию, и вы будете помечены для использования назначения деструктурирования.

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