0 Tage Serie
javascript / intermediate
Snippet

Sicheres Deep Cloning mit structuredClone

Im Gegensatz zum JSON.parse(JSON.stringify()) Hack erstellt structuredClone eine echte Tiefenkopie, die zirkuläre Referenzen und komplexe Typen wie Date, Map und Set korrekt verarbeitet.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
const original = {
user: 'Markus',
roles: new Set(['admin', 'editor']),
metadata: { created: new Date() }
};
const copy = structuredClone(original);
copy.roles.add('guest');
console.log(original.roles.has('guest')); // false
console.log(copy.metadata.created instanceof Date); // true
nodejs
Erklärung
1
structuredClone(original)
Führt einen nativen Deep Clone des gesamten Objektgraphen aus.
2
copy.roles.add('guest')
Das Ändern der Kopie beeinflusst das ursprüngliche Set nicht.