Все чаще я сталкиваюсь с кодом, использующим ES2015, который вводит назначение деструктуризации, и даже чаще мне очень сложно понять, что делает автор. Я вижу, что деструктурирование может быть очень полезным в некоторых случаях, но у меня создается впечатление, что он часто вводит ненужную сложность кода.Преимущества назначений деструктурирования в Javascript
E.g. Nested object and array destructuring пример на MDN использует эту линию у destructure вложенную массив:
var { title: englishTitle, translations: [{ title: localeTitle }] } = metadata;
Где преимущество над чем-то вроде этого, что выглядит намного более читаемым мне:
var englishTitle = metadata.title,
localeTitle = metadata.translations[0].title;
Какие проблемы решаются путем деструктурирования заданий?
Когда использовать их, а когда нет?
Ваши две части кода не эквивалентны. 'localeTitle' - свойство title первого объекта в массиве' translations'. – MinusFour
Да, спасибо! Я редактировал вопрос. – birnbaum
В более простых случаях он сохраняет нажатия клавиш и по-прежнему читается 'const {foo, bar} = this.props;' vs 'const foo = this.props.foo; const bar = this.props.bar; ' – zerkms