Spread & Rest
Spread operator and rest parameters
// Merge objects — later keys win
const defaults = { theme: "dark", lang: "en", fontSize: 14 };
const prefs = { theme: "light", fontSize: 16 };
const config = { ...defaults, ...prefs };
console.log(config);
// Clone + extend arrays (shallow)
const base = [1, 2, 3];
const extended = [...base, 4, 5, ...base];
console.log(extended);
// Spread in function call
const nums = [5, 2, 8, 1, 9];
console.log("Max:", Math.max(...nums));
// Rest parameters
function sum(first, ...others) {
return others.reduce((acc, n) => acc + n, first);
}
console.log(sum(1, 2, 3, 4, 5));