Что такое деструктуризация?
Деструктуризация в JavaScript представляет собой удобный синтаксический сахар, который позволяет извлекать данные из массивов и объектов и записывать их в переменные более коротким и наглядным способом. Этот подход значительно сокращает объем шаблонного кода.
При работе с массивами деструктуризация позволяет присваивать элементам новые переменные по их строгому порядку следования. Например, конструкт вида const [a, b] извлекает первые два элемента массива в соответствующие константы.
Для объектов сопоставление происходит не по порядку, а по точным именам ключей. Запись вида const {name, age} автоматически извлекает свойства name и age из переданного объекта user независимо от их расположения в исходной структуре.
Если имя существующего ключа не подходит для текущего контекста или конфликтует с уже объявленными переменными, язык позволяет переименовать переменную прямо во время деструктуризации. Для этого используется двоеточие, например, при извлечении ключа name в новую переменную n.
Дополнительную гибкость придают значения по умолчанию, которые можно задать на случай отсутствия свойства. Их можно указать, записав знак равенства и нужное значение прямо внутри шаблона деструктуризации.
Кроме того, поддерживается глубокая или вложенная деструктуризация. Она позволяет добраться до свойств внутренних объектов одной строкой кода, извлекачая свойство из вложенного объекта с помощью комбинации двоеточия и фигурных скобок.