structuredClone vs JSON
JavaScript 🟡 MidDefinition
JSON.parse(JSON.stringify()) perd les Date, Map, Set, undefined, fonctions et references circulaires. structuredClone gere tout sauf les fonctions et le DOM. Toujours preferer structuredClone.
Analogie
JSON = scanner un document en noir et blanc (perd les couleurs). structuredClone = photocopier en couleur haute fidelite.
Exemple de code
const obj = { d: new Date(), m: new Map([['a',1]]) };
// JSON perd tout
JSON.parse(JSON.stringify(obj));
// { d: '2024-...', m: {} }
// structuredClone preserve
structuredClone(obj);
// { d: Date, m: Map }
Cas d'usage
Deep clone d'etats complexes avec des types non-JSON.