Function Rest Parameters in JavaScript
Moazam Ali
Posted on December 20, 2022
Function rest parameters are a feature in JavaScript introduced in the ES6 version of JavaScript that allows a function to accept an indefinite number of arguments as an array. These arguments are stored in an array that can be accessed within the function.
Syntax
To create a function with a rest parameter, the parameter is declared with three dots (...)
followed by the name of the parameter. For example:
function example(...args) {
// Code goes here
}
When the function is called, any number of arguments can be passed to it. These arguments are stored in the args
array, which can be accessed within the function like any other array.
Here's an example of a function that uses a rest parameter to find the sum of all the arguments passed to it:
function sum(...numbers) {
let total = 0;
for (let i = 0; i < numbers.length; i++) {
total += numbers[i];
}
return total;
}
console.log(sum(1, 2, 3, 4)); // Output: 10
console.log(sum(5, 10, 15, 20)); // Output: 50
In this example, the sum()
function accepts a rest parameter called numbers, which is used to store the arguments passed to the function. The numbers array is then looped through using a for loop, and the sum of all the elements is calculated and returned.
Rest parameters are useful when you want to write a function that can accept any number of arguments, but you don't know in advance how many arguments will be passed to the function. This allows you to write flexible and reusable code.
Note:
However, it's important to note that the rest parameter must be the last parameter in the function declaration. This is because the rest parameter collects all the remaining arguments into an array, and if there are any other parameters after the rest parameter, they will not be included in the array.
We can also use the rest parameters with the regular parameters. Here's an example of a function that uses a rest parameter and a regular parameter:
function example(first, ...args) {
// Code goes here
}
In this example, the example()
function accepts two arguments: a regular parameter called first
and a rest parameter called args
. The first parameter will contain the first argument passed to the function, and the args
array will contain all the remaining arguments.
Rest Parameters vs Arguments
One key difference between rest parameters and the arguments
object is that rest parameters are actually arrays
, whereas the arguments
object is not. This means that you can use array methods, such as map
and forEach
, on rest parameters, but not on the arguments
object.
For example, you could write the sum function like this using the forEach
method:
function sum(...numbers) {
let total = 0;
numbers.forEach(number => {
total += number;
});
return total;
}
console.log(sum(1, 2, 3, 4, 5)); // 15
Wrapping up!
Rest parameters are a useful feature in JavaScript that can help you write more concise and elegant code when working with an unknown number of arguments in a function. They are a great alternative to the arguments object and can make your code more readable and maintainable.
That's all for this article, hope you learned something. Thanks for reading, catch you later.
You can also buy me a coffee that would help me grow as a frontend developer :)
Posted on December 20, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.