Sobes.tech
Junior

Wat is het verschil tussen de spread- en rest-operatoren?

sobes.tech AI

Antwoord van AI

De spread-operator (...) breidt iterabele objecten (arrays, strings) uit in afzonderlijke elementen en wordt vaak gebruikt om arrays te kopiëren, objecten samen te voegen of argumenten aan functies door te geven. De rest-operator (...) verzamelt de resterende elementen in één array, gebruikt bij destructurering of bij het definiëren van functies om argumenten te verzamelen.

Voorbeelden van gebruik van spread:

// Een kopie van een array maken
const arr1 = [1, 2, 3];
const arr2 = [...arr1]; // arr2 = [1, 2, 3]

// Arrays samenvoegen
const arr3 = [4, 5];
const combined = [...arr1, ...arr3]; // combined = [1, 2, 3, 4, 5]

// Argumenten doorgeven aan een functie
function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // result = 6

Voorbeelden van gebruik van rest:

// Rest van de elementen verzamelen bij destructurering van een array
const [first, ...restOfArray] = [1, 2, 3, 4]; // first = 1, restOfArray = [2, 3, 4]

// Argumenten verzamelen in een functie
function logArguments(arg1, ...restArgs) {
  console.log(arg1); // eerste argument
  console.log(restArgs); // array van de overige argumenten
}
logArguments(1, 2, 3, 4); // Geeft 1 en [2, 3, 4]

Het belangrijkste verschil ligt in hun doel: spread breidt uit, rest verzamelt.