Docs/JavaScript/Spread & Rest

Spread & Rest Operator (...)

Spread — menyebar

  • Copy array: [...arr]
  • Merge array: [...arr1, ...arr2]
  • Copy object: {...obj}
  • Merge object: {...obj1, ...obj2}

Rest — mengumpulkan

  • Function: function f(...args) {}
  • Destructuring: const [a, ...rest] = arr
script.js
Try It →
const a = [1, 2, 3];
const b = [4, 5, 6];
const merged = [...a, ...b];
const copy = [...a];

const obj1 = { name: "Ali" };
const obj2 = { age: 25, level: 5 };
const full = { ...obj1, ...obj2 };

function sum(...nums) { return nums.reduce((a,b)=>a+b,0); }

const o = document.getElementById('output');
o.innerHTML = 
  '// Spread Array
'+
  '[...a, ...b] → '+JSON.stringify(merged)+'

'+
  '// Spread Object
'+
  '{...obj1, ...obj2} → '+JSON.stringify(full)+'

'+
  '// Rest Parameter
'+
  'sum(1,2,3,4,5) → '+sum(1,2,3,4,5);