Spread (...) vs Rest (...) Operator

Same syntax (...), completely different purposes. Spread expands elements, Rest collects them.

FeatureSpread (...)Rest (...)
ContextArray literals, object literals, function callsFunction parameters, destructuring
PurposeExpand/unpack elementsCollect remaining elements
PositionAnywhere in array/objectMust be last parameter
Use caseCopying, merging, passing argumentsVariadic functions, extracting remaining items
DirectionOne to manyMany to one

Verdict

Spread expands an iterable into individual elements (used in calls and literals). Rest collects multiple elements into an array (used in function params and destructuring).

Code Example

Javascript
Tip: Modify the code above and click “Run” to see the results

Related Tutorials

Related Glossary Terms