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.


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'];

// Paul,John,Ringo
✖ Clear

🕵 Search Results

🔎 Searching...