Обзор
Деструктурирующее присваивание — это расширение оператора присваивания.
Это разновидность сопоставления с образцом для массивов или объектов, после чего значения присваиваются переменным внутри них.
Оно обеспечивает лаконичность и удобочитаемость при написании кода, а также более ясную семантику; оно также упрощает извлечение полей данных в сложных объектах.
Модель деструктуризации
В деструктуризации участвуют следующие две части:
- Цель деструктуризации — левая часть выражения деструктурирующего присваивания.
Деструктуризация модели массива (Array)
Базовый
Поддерживают вложенность
Игнорируемые
Неполная деструктуризация
Оператор rest
Строки и т. д.
При деструктуризации массива, если цель деструктуризации является итерируемым объектом, можно выполнить деструктурирующее присваивание. Итерируемый объект — это данные, реализующие интерфейс Iterator.
Значения по умолчанию при деструктуризации
Когда у шаблона деструктуризации есть результат сопоставления и этот результат равен undefined, в качестве возвращаемого результата сработает значение по умолчанию.
- Результат сопоставления a и b равен undefined, поэтому срабатывают значения по умолчанию:a = 3; b = a =3
- a нормально деструктурируется и присваивается, результат сопоставления: a = 1, результат сопоставления b равен undefined, поэтому срабатывает значение по умолчанию:b = a =1
- a и b обычно деструктурируются и присваиваются, результат сопоставления:a = 1,b = 2
Деструктуризация объектной модели (Object)
Базовый
Вложенность и игнорирование
Неполная деструктуризация
Оператор rest
Значения по умолчанию при деструктуризации