05. Rest parameters en Spread Operator - xarling/ES6-workshop GitHub Wiki

Rest parameters

Om een functie te definiëren die een een onbekend aantal parameters accepteert kun je 'rest parameters' gebruiken. De rest parameters komen tijdens de functiedefinitie altijd aan het einde van de parameterlijst.

function addItemsToList(naam, ...items) {
  console.log(`${naam} voegt dingen toe aan de lijst`);
  console.log(items);
};

addItemsToList('Roel',1,2,3,4,5,6);
// Roel voegt dingen toe aan de lijst
// [1,2,3,4,5,6]

Opdracht

Zie \05.spread-operator\rest-parameters.html voor een opdracht

Spread operator

De spread operator doet het tegenovergestelde van de rest parameters. Een array/iterable object wordt opgedeeld in zijn losse onderdelen.

function addThreeItems(x,y,z) {
  return x+y+z;
}

var getallen = [1,2,3];
var result = addThreeItems(...getallen);
// result = 6

var result2 = addThreeItems(...[4,5,6]);
// result2 = 15

Dit is ook mogelijk bij array literals:

var array1 = [4, 5, 6]; 
var array2 = [1, 2, 3, ...array1, 7, 8, 9]; 

// array2 = [1,2,3,4,5,6,7,8,9]

Opdracht

Zie \05.spread-operator\spread-operator.html voor de opdracht