What are spread and rest operators in JavaScript?

Understand how spread and rest operators simplify working with arrays, objects, and functions.

beginnerFundamentalsjavascriptspreadrest
Published: 11/3/2025
Updated: 11/3/2025

Question

What are spread and rest operators in JavaScript?


Answer

Both use ... but serve different purposes:

Spread (...) expands arrays or objects:

const arr = [1, 2, 3];
const clone = [...arr];

Rest (...) collects multiple arguments into one array:

function sum(...nums) {
  return nums.reduce((a, b) => a + b, 0);
}
console.log(sum(1, 2, 3)); // 6

Real-World Example

Spread and rest simplify React props handling, array merging, and function arguments.

Quick Practice

Write a function that takes any number of parameters and returns their sum using the rest operator.

Summary

Spread expands. Rest collects. Both use ..., but serve opposite purposes.

Related Videos
Watch these videos to learn more about this topic
Frequently Asked Questions

Can spread and rest be used together?

Yes, rest collects parameters while spread expands them — perfect for flexible function arguments.


Stay Updated

Get the latest frontend challenges, interview questions and tutorials delivered to your inbox.