JavaScriptBeginner#es6

Difference between spread and rest operators?

Both use ... — spread expands an iterable or object into individual elements, while rest collects remaining items into an array or object. Spread appears where values are consumed, rest where they are declared.

Example
const merged = { ...a, ...b };      // spread
const arr = [...a, 4];              // spread
function sum(...nums) {             // rest
  return nums.reduce((s,n)=>s+n,0);
}

Related Questions

1
JavaScriptIntermediate#objects

How do you deep clone an object?

Open
2
JavaScriptIntermediate#es6#operators

What is optional chaining and nullish coalescing?

Open
3
JavaScriptBeginner#fundamentals

Difference between null and undefined?

Open