De rest-operator in JavaScript, aangeduid met drie stippen (…), wordt gebruikt om een onbepaald aantal argumenten in een array te plaatsen. Deze operator kan bijvoorbeeld handig zijn in functiedefinities, waar je misschien niet weet hoeveel argumenten er aan de functie zullen worden doorgegeven.
Met de rest-operator kan je al deze argumenten verzamelen in één array, die je vervolgens in je functiedefinitie kunt gebruiken. Hier is een voorbeeld:
```
function sum(…args) {
return args.reduce((previous, current) => {
return previous + current;
});
}
console.log(sum(1, 2, 3, 4)); // outputs 10
```
In dit voorbeeld verzamelt de rest-operator alle argumenten die aan de `sum` functie worden doorgegeven (in dit geval 1, 2, 3, 4) in de `args` array. De functie geeft vervolgens de som van deze getallen terug.
De rest-operator wordt genoemd ‘rest’ omdat hij de ‘rest’ van de argumenten verzamelt. Dit betekent dat je deze operator ook kunt gebruiken na gedefinieerde parameters. Bijvoorbeeld als volgt:
```
function test(arg1, arg2, …rest) {
console.log(arg1); // 1
console.log(arg2); // 2
console.log(rest); // [3, 4, 5]
}
test(1, 2, 3, 4, 5);
```
In dit geval zullen `arg1` en `arg2` zoals verwacht de waarden 1 en 2 bevatten, terwijl `rest` een array [3, 4, 5] zal zijn. Dit komt omdat de ‘rest’ operator de resterende argumenten verzamelt die niet worden opgevangen door de reeds gedefinieerde parameters.