Skip to content

spread operator

serhij.zolotukhin edited this page Dec 7, 2025 · 1 revision

spread/rest operator

spread

оператор ..., используемый перед массивом, или любой другой коллекцией значений (строки, объекты), называет spread. Spread используется для разделения коллекций на отдельные элементы

#!javascript
var arr = [1, 2, 3, 4, 5];
var data = [...arr];
console.log(data); // [1, 2, 3, 4, 5]

Важно понимать, что при подобном использовании оператора ... происходит именно копирование всех свойств, а не ссылки на массив.

rest

для соединения отдельных значений в массив. Используя параметр ...args в функции sum вы говорите интерпретатору: “собери все оставшиеся элементы в массив с именем args"

#!javascript
// Раньше
var sum = function() {
  var args = [].slice.call(arguments);
  return args.reduce(function(s, num) {
    return s += num;
  }, 0);
};

// Теперь
var sum = function(...args) {
  return args.reduce(function(s, num) {
    return s + num;
  }, 0);
};

// Ещё короче с использованием стрелочных функций
var sum = (...args) => args.reduce((s, num) => s + num, 0);

My side bar

Clone this wiki locally