Declaring the spread and rest operators

In ES5, we can turn arrays into parameters using the apply() function. ES2015 has the spread operator (...) for this purpose. For example, consider the sum function we declared in the previous topic. We can execute the following code to pass the x, y, and z parameters:

let params = [3, 4, 5]; 
console.log(sum(...params)); 

The preceding code is the same as the code written in ES5, as follows:

console.log(sum.apply(undefined, params)); 

The spread operator (...) can also be used as a rest parameter in functions to replace arguments. Consider the following example:

function restParamaterFunction(x, y, ...a) { 
  return (x + y) * a.length; 
} 
console.log(restParamaterFunction(1, 2, 'hello', true, 7)); 

The ...

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.