0 Tage Serie
javascript / intermediate
Snippet

Objekt-Immutabilität mit Spread und Rest

Die Wahrung der Immutabilität ist entscheidend für ein vorhersehbares State-Management. Die Kombination aus Rest-Syntax zum Ausschließen von Eigenschaften und Spread-Syntax zum Zusammenführen neuer ermöglicht es, einen neuen Zustand abzuleiten, ohne das Originalobjekt zu verändern.

snippet.js
javascript
1
2
3
4
5
6
7
8
const state = { id: 1, name: 'Original', extra: 'to be removed' };
// Remove a property and update another while keeping state immutable
const { extra, ...rest } = state;
const newState = { ...rest, name: 'Updated', status: 'active' };
console.log(state);
console.log(newState);
Erklärung
1
{ extra, ...rest } = state
Verwendet Rest-Destrukturierung, um 'extra' herauszuziehen und alle verbleibenden Eigenschaften im 'rest'-Objekt zu gruppieren.
2
{ ...rest, name: 'Updated' }
Erstellt eine flache Kopie des 'rest'-Objekts und überschreibt die Eigenschaft 'name' im resultierenden neuen Objekt.