Деструктуризация массивов и объектов

«Деструктуризация в JavaScript — это синтаксис присваивания, который позволяет удобно, в одну строку, извлечь данные из массивов и объектов.»

Деструктуризация объектов

let fruit = {
  title: 'banana',
  group: 'tropical',
  quantity: 5
}
let { title, group, quantity } = fruit
// title = 'banana', group = 'tropical', quantity = 5

Другие названия переменных

let { title: a, group: b, quantity: c } = fruit

Значения по умолчанию

let { title = 'lime', group, quantity = 5 } = fruit

Остаток объекта

let { group, ...prop } = fruit
// prop = { title: 'banana', quantity: 5 }

Деструктуризация массивов

let [a, b, c] = [1, 2, 3]

// Пропуск элементов
let [first, , third] = [10, 20, 30]

// Обмен переменных
let m = 1, n = 2
;[m, n] = [n, m]

// Копирование и слияние
let copy = [...arr]
let merged = [...arr1, ...arr2]

В параметрах функции

function greet({ name, age = 0 }) {
  return name + ' — ' + age + ' лет'
}
greet({ name: 'Вася', age: 30 })