The rest parameter is also represented by the ... token. The last parameter of a function with ... is called a rest parameter. The rest parameter is an array type and contains the rest of the parameters of a function when the number of arguments exceeds the number of named parameters.
The rest parameter is used to capture a variable number of function arguments from within a function.
The arguments object can also be used to access all arguments passed. The argument object is not strictly an array, but it provides some interfaces that are similar to an array.
The following example code shows how to use the arguments object to retrieve the extra arguments:
function myFunction(a, b) {
const args = Array.prototype.slice.call(arguments, myFunction.length);
console.log(args);
}
myFunction(1, 2, 3, 4, 5); //Output "3, 4, 5"
This can be done in a much easier and cleaner way, by using the rest parameter. The following example demonstrates to use the rest parameter:
function myFunction(a, b, ...args) {
console.log(args); //Output "3, 4, 5"
}
myFunction(1, 2, 3, 4, 5);
The arguments object is not an array object. Therefore, to do array operations on the arguments object, you need to convert it to an array. The rest parameter is easy to work with.
The ... token is called the spread operator or rest parameter, depending on where and how it's used.