Back to results for “Spread & Rest”
JavaScript › Destructuring, Spread & Rest

How do you use spread to shallow-copy and merge objects?

Intermediate

Answer

Spreading an object into a new object literal copies its own enumerable properties; when merging multiple objects, later spreads override earlier ones for matching keys.
const defaults = { theme: 'light', fontSize: 14 };
const overrides = { theme: 'dark' };
const merged = { ...defaults, ...overrides };
// { theme: 'dark', fontSize: 14 }
Real-world example Combining a component's default props with props explicitly passed by the caller.

Common follow-ups: Why is this called a 'shallow' copy, and what problem can that cause with nested objects?