04. Array Destructing
Деструкция на массивах использует итератор для получения элементов массива.
Синтаксис паттерна деструкции массива можно использовать для любой итерируемоей сущности, не только для массива (строки, например).
Если итерируемый объект не содержит
Symbol.iterator
, то будет выброшено исключениеTypeError
.
В массивах можно пропускать элементы оставляя дыры в паттерне:
Оператор rest - записывает последующие значения объекта или массива при деконструкции в параметр, который получит “всё остальное”, при помощи оператора ...
:
Значением rest
будет массив из оставшихся элементов массива. Вместо rest
можно использовать и другое имя переменной, оператор здесь — троеточие. Оно должно стоять только последним элементом в списке слева. Если значению rest
не соответствует ни один из элемент, то по умолчанию используется пустой массив. Таким образом rest
никогда не принимает значения null
или undefined
.
Значением rest
не обязательно должна быть переменная, это так же может быть и паттерн:
Деструктуризация также работает с бесконечными массивами:
Last updated
Was this helpful?