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