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
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 immutableconst { 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.