01. Destructing
Деструктуризация - это механизм, позволяющий извлекать данные, хранящиеся в (потенциально вложенной) структуре данных. Деструктуризация основана на описания паттернов, применяемых к структуре данных для извлечения её частей. Деструкция применяется для массивов и объектов.
Лексически, деструктуризация выполняется на присваивание (destructing assignment) — это особый синтаксис присваивания, при котором можно присвоить массив или объект сразу нескольким переменным, разбив его на части. Основная цель выражений деструктуризации - извлечь множество данных из какой-либо структуры данных за один заход.
Выражение деструктуризации состоит из:
Destructing source - разбиваемая структура данных
Destructing target - паттерн разбиения, формирующий несколько идентификаторов по которым доступны результаты разбиения.
Паттерн присваивания
x
Паттерн объекта
{ first: «pattern», last: «pattern» }
Паттерн массива
[ «pattern», «pattern» ]
работает как и массивами, так и с любыми итерируемыми структурами.
Деструктуризация может быть применена к следующим сущностям:
Объекты
Массивы
Строки (как массив символов)
Генераторы (как массив последовательных значений, возвращаемых генератором)
Коллекции (как массив последовательных значений, возвращаемых итератором)
Деструктуризация может находится:
В любом месте где допустимо присваивание
В параметрах функций
Usage
Пример паттерна деструктуризации объекта:
Пример паттерна деструктуризации массива:
Паттерны можно комбинировать и вкладывать друг в друга не ограниченно:
Деструктуризация строк
Деконструкция в параметрах функций
Деструктуризация при возвращении структуры из функции.
Деструктуризация в циклах:
Деструктуризация коллекции:
Деконструкция генераторов
Last updated
Was this helpful?