Rest Parameters in JavaScript with ES6 / ES2015

Rest parameters are a new way in ES6 / ES2015 to work with functions that have an arbitrary amount of arguments passed in:

function myFunc(...someArgs) {
  for (let i = 0; i < rest.length; i++) {
    console.log(`Argument ${ i + 1 }: ${ rest[i] }`);
  }
}

Now let’s call the function:

myFunc('Paul', 'John', 'Ringo');

And this is what we’ll get at the console:

Argument 1: Paul
Argument 2: John
Argument 3: Ringo

Prior to ES6, the arguments array-like object could be used, but more boilerplate code was needed to be able to treat arguments like a real array.

Destructuring

You can define an array as the rest parameter, and the passed-in arguments will be broken down into the array:

function myFunc(...[name1, name2, name3]) {
  console.log(name1, name2, name3);
}

let names = ['Paul', 'John', 'Ringo'];
myFunc(names);

// Paul,John,Ringo
✖ Clear

πŸ•΅ Search Results

πŸ”Ž Searching...