JS: Function Rest Parameters

By Xah Lee. Date: . Last updated: .

New in ES2015.

A function can have unspecified number of parameters, like this:

function ff (...name) { return name; }

That is, 3 dots followed by a name. In function body, the name is received as a array.

This is called “rest parameters”.

The syntax ...name must be the last in the parameter declaration. Space after the dots is optional.

The syntax ...name can only happen once.

// function with any number of parameters
function ff (a, b, ...c)
{
return c; // c is received as array
};

console.log(
    ff(1,2,3,4)
); // [3, 4]

If no rest parameter is given, value is a empty array.

// rest params, if non given, value is empty array
function f1 (...r) { return r; };
console.log( f1() ); // []

ECMAScript 2015 §ECMAScript Language: Functions and Classes#sec-function-definitions

Function Topic

  1. JS: Define Function
  2. JS: Functional Programing
  3. JS: Arrow Function
  4. JS: Function Parameters
  5. JS: f Declaration vs Expression
  6. JS: Closure
  7. JS: Function Call, Apply, Bind
  8. JS: Function Argument Default Value
  9. JS: Function Rest Parameters
  10. JS: Function Argument Destructure
  11. JS: Function Object
  12. JS: Function.prototype
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.