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 используется для распространения элементов массива или свойств объекта в другой массив или объект.