Остаточные параметры и оператор расширения. Spread и rest - IZIART

Разработка сайтов
индивидуальный дизайн

Главная » JS » Остаточные параметры и оператор расширения. Spread и rest

Остаточные параметры и оператор расширения. Spread и rest

Обновлено: 05.10.2023
js

Оператор расширения — spread

Spread оператор (оператор расширения) берет каждый отдельный элемент итерируемого объекта и распаковывает его в другой итерируемый объект.

// в функциях
function foo(x, y, z) {
  console.log(x, y, z); // 1 2 3
}
const arr = [1, 2, 3];
foo(...arr); // 1 2 3 
// объединение объектов
const part1 = { id: 100, name: 'Aleksandr' }
const part2 = { id: 100, password: '12345!' }

const user = { ...part1, ...part2 }
//=> { id: 100, name: 'Aleksandr', password: '12345!' }

Остаточные параметры — rest

Оператор rest забирает каждый элемент из массива и создает из них новый массив.

function bar(...args) {
  console.log(args); 
}
bar(1, 2, 3, 4, 5); // [1, 2, 3, 4, 5] 
// при деструктуризации
const auto= ['Mersedes', 'BMW', 'Audi'];

const [mers, ...other] = auto;

console.log(mers); // Mersedes
console.log(other); // [ 'BMW', 'Audi' ]