The Rest parameter allows multiple parameters to be collected into an array, simplifying the writing of functions that handle uncertain number of parameters. For example, using...numbers in the sum function can capture all parameters and process them as an array, and then sum them using methods such as reduce; unlike the arguments object, the rest parameter is a real array and only contains unnamed parameters; in addition, the rest parameter must be at the last position of the function parameter list. 1. Use the... syntax to collect parameters into an array. 2. You can directly apply map, filter and other array methods. 3. The rest parameter must be placed at the end of the parameter list.
Rest parameters in JavaScript are a way to represent an indefinite number of arguments as an array. This feature is super handy when you're writing functions that need to accept a variable number of inputs.

Using Rest Parameters in Functions
When you use the rest parameter syntax ( ...parameterName
), it collects all remaining arguments into a real array. This makes it easier to work with them using array methods like map
, filter
, or reduce
.
For example:

function sum(...numbers) { return numbers.reduce((total, num) => total num, 0); } console.log(sum(1, 2, 3)); // Output: 6
Here's what happens:
- The rest parameter
...numbers
captures all the arguments passed to the function. - It turns them into a proper array called
numbers
. - You can then use
.reduce()
to add them up without any hassle.
This is really useful when you don't know how many values ??someone will pass into your function.

Difference Between Rest Parameters and arguments
It's easy to confuse rest parameters with the older arguments
object in JavaScript.
The main differences are:
-
arguments
isn't a real array — it's an array-like object, so you can't directly use array methods on it. - Rest parameters are actual arrays, which means you can do things like
map
orfilter
right away. - The
arguments
object includes all arguments passed to the function, while rest parameters only include the ones that don't have their own named parameter.
So if you're writing modern JavaScript, rest parameters are usually the better choice for handling multiple inputs.
Rest Parameters Must Be the Last Parameter
One important rule: the rest parameter has to be the last one in the function definition. Otherwise, JavaScript won't know where the rest begins.
For example:
function logItems(prefix, ...items) { console.log(prefix, items); }
In this case:
- The first argument becomes
prefix
- All remaining arguments are collected into the
items
array
But if you try to do something like this:
function badExample(...items, suffix) { // Syntax error! // ... }
You'll get an error because rest parameters can't come before other named parameters.
Summary
So to recap quickly:
- Rest parameters let you capture multiple arguments into an array.
- They're more flexible and powerful than the old
arguments
object. - Always place them at the end of your function's parameter list.
Basically that's it.
The above is the detailed content of What are rest parameters in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development.

CommentsarecrucialinJavaScriptformaintainingclarityandfosteringcollaboration.1)Theyhelpindebugging,onboarding,andunderstandingcodeevolution.2)Usesingle-linecommentsforquickexplanationsandmulti-linecommentsfordetaileddescriptions.3)Bestpracticesinclud

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

JavaScripthasseveralprimitivedatatypes:Number,String,Boolean,Undefined,Null,Symbol,andBigInt,andnon-primitivetypeslikeObjectandArray.Understandingtheseiscrucialforwritingefficient,bug-freecode:1)Numberusesa64-bitformat,leadingtofloating-pointissuesli

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes.

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl
