Rest и Spread - это два оператора в JavaScript, которые используются для работы с массивами и объектами.

Оператор Rest (...) используется для объединения нескольких элементов в массив. Он также может быть использован для объединения оставшихся аргументов функции в массив.

Пример:

function myFunction(a, b, ...rest) {
  console.log(a) // 1
  console.log(b) // 2
  console.log(rest) // [3, 4, 5]
}
 
myFunction(1, 2, 3, 4, 5)

В этом примере, мы объявляем функцию myFunction, которая имеет первые два аргумента a и b, а остальные аргументы объединяются в массив rest с помощью оператора rest ....

Тип данных, который используется для rest, это массив.

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

Пример:

const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
 
const arr3 = [...arr1, ...arr2]
 
console.log(arr3) // [1, 2, 3, 4, 5, 6]

В этом примере, мы создаем два массива arr1 и arr2, а затем используем оператор Spread ... для распространения их элементов в новом массиве arr3.

Кроме того, оператор Spread может быть использован для создания копии массива или объекта.

Пример:

const arr1 = [1, 2, 3]
const arr2 = [...arr1]
 
console.log(arr2) // [1, 2, 3]
 
const obj1 = { a: 1, b: 2 }
const obj2 = { ...obj1 }
 
console.log(obj2) // { a: 1, b: 2 }

В этом примере, мы используем оператор Spread ... для создания копии массива arr1 и объекта obj1.

Таким образом, разница между операторами Rest и Spread заключается в том, что Rest используется для объединения нескольких элементов в массив, в то время как Spread используется для распространения элементов массива или свойств объекта в другой массив или объект.


Назад