Деструктуризация массивов и объектов
Деструктуризация в JavaScript это синтаксис присваивания, который позволяет удобно, в одну строку, извлечь данные из массивов и объектов.
Деструктуризация объектов
Свойства title
, group
и quantity
, повторяют структуру объекта fruit
и копируют свои значения в идентичные переменные находящиеся в {...}
. Поэтому, если вы поменяете переменные в {...}
местами, то код будет так же прекрасно работать, попробуйте в примере выше поменять переменные местами.
Вложенный объект
Мы также можем деструктурировать вложенный объект.
Другие названия
Если вам нужно использовать названия переменных отличные от названия свойств, то будет работать такой синтаксис:
Дефолтные значения
Если в {...}
вы напишете переменную свойства, которой не будут найдены, то ей присвоится значение undefined
. Для назначения переменной дефолтного значение, это значение ей можно присвоить. Если вы попытаетесь присвоить значение переменной свойства которой будут найдены, то ей присвоится значение свойства. Рассмотрим на примере.
В title
выводится значение свойства, а не то, что мы ей присваиваем. Свойства group
в объекте fruit
не существует, а переменной никаких значений мы не присваивали. Свойства quantity
также не существует, но переменной мы присвоили значение 5
.
Остаток
Если вам нужно получить из объекта одну переменную , а оставшиеся сгруппировать в другой объект, то используйте ...
перед переменной из которой будет создан объект с оставшимися свойствами.
Деструктуризация массивов
Деструктуризация массива происходит так же, как и у объекта. Единственная разница в том, что значения элементов массива будут присваиваться переменным в порядке определения элементов.
Остаток
По аналогии с объектами работает остаток.
Копия массива
Пример создания копии массива.
Объединение массивов
Пример объединения массивов в один.
Проблемы?
Пишите в Telegram или ВКонтакте, а также подписывайтесь на наши новости
Вопросы
Деструктуризация - это?
- Функция
- Синтаксис
- Объект
Обязательно ли, при деструктуризации объекта, ставить переменные в том же порядке, в каком они находятся в объекте?
- Да
- Нет
Что присвоится переменной, если в объекте не будет найдено идентичного свойства?
error
undefined
unknown
Важен ли порядок элементов в объекте, при его деструктуризации?
- Да
- Нет
Для того чтобы понять насколько вы усвоили этот урок пройдите тест в мобильном приложении в нашей школы по этой теме.
Ссылки
Contributors ✨
Thanks goes to these wonderful people (emoji key):
IIo3iTiv | Dmitriy Vasilev 💵 | Resoner2005 🐛 🎨 🖋 | Navernoss 🖋 🐛 🎨 |