Destructuring und Spread in JavaScript – Objekte und Arrays elegant auspacken
Mit Destructuring holst du gezielt Werte aus Objekten und Arrays, mit dem Spread-Operator kopierst und kombinierst du sie. Zusammen sparen sie dir jede Menge Zwischenvariablen – und den unbeabsichtigten Mutations-Bug.
Zwei ES6-Features nutze ich in fast jeder Datei: Destructuring (Werte auspacken) und der Spread-Operator ... (Werte kopieren/verteilen). Zusammen machen sie Code kürzer und vermeiden versehentliche Änderungen an geteilten Objekten.
Destructuring: gezielt auspacken
const user = { name: "Mia", role: "admin", stadt: "Köln" };
const { name, role } = user; // name = "Mia", role = "admin"
const { stadt: ort = "unbekannt" } = user; // umbenennen + Standardwert
// Auch bei Arrays und in Funktions-Parametern:
const [erster, zweiter] = ["a", "b", "c"];
function greet({ name, role }) {
return `Hallo ${name} (${role})`;
}Statt user.name fünf Mal zu schreiben, holst du dir die Felder einmal heraus. In Parametern ist es besonders schön: Der Funktionskopf zeigt sofort, was gebraucht wird.
Spread: kopieren statt mutieren
const basis = { theme: "dark", lang: "de" };
// neues Objekt mit Änderung – basis bleibt unangetastet:
const config = { ...basis, lang: "en" }; // { theme:"dark", lang:"en" }
// Arrays zusammenfügen:
const alle = [...ersteListe, ...zweiteListe];Der Schlüssel: Du erzeugst eine flache Kopie und überschreibst nur, was du willst. Genau dieses Muster brauchst du in React/State-Management ständig, um Zustände nicht direkt zu verändern.
Eine Falle: es ist nur eine flache Kopie
const kopie = { ...original };
kopie.adresse.stadt = "Bonn"; // ändert auch original.adresse!Verschachtelte Objekte teilen sich weiter dieselbe Referenz. Für tiefe Kopien nimmst du structuredClone(original).
Destructuring und Spread halten meinen Frontend-Code schlank und frei von Mutations-Bugs. Mehr Snippets auf code.bymw.de.
Quellen
Du brauchst mehr als ein Snippet?
Ich entwickle Android-Apps in Kotlin und moderne Websites für Selbstständige und kleine Unternehmen — von der ersten Idee bis zum Release.
Projekt anfragen →Verwandte Snippets
Web Worker – rechnen, ohne die Oberfläche einzufrieren
JavaScript hat im Browser genau einen Faden für alles: Klicks, Animationen, Layout – und deine Rechenschleife. Dauert die zwei Sekunden, ist die Seite zwei Sekunden lang tot. Ein Worker nimmt die Arbeit auf einen eigenen Faden.
Formulare ohne Neuladen abschicken – FormData und fetch
Ein Formular per JavaScript abzuschicken heißt nicht, jedes Feld einzeln auszulesen. FormData nimmt das ganze Formular, fetch schickt es weg – inklusive Dateien, und mit einer Fehlermeldung, die der Besucher versteht.
CustomEvent – Bausteine, die sich gegenseitig Bescheid sagen, ohne sich zu kennen
Sobald zwei Teile einer Seite aufeinander reagieren sollen, landet man schnell bei globalen Variablen oder Funktionsaufrufen quer durchs Projekt. Eigene Events entkoppeln das – mit denselben Mitteln, die der Browser selbst benutzt.