Structured Clone
JavaScript 🟡 MidDefinition
API globale structuredClone() qui cree une copie profonde d'un objet, supportant les types complexes (Date, Map, Set, ArrayBuffer, etc.). Remplace JSON.parse(JSON.stringify()).
Analogie
Une photocopieuse couleur haute fidelite qui reproduit chaque detail, contrairement a une photocopie noir et blanc (JSON).
Exemple de code
const original = {
date: new Date(),
data: new Map([['a', 1]]),
nested: { arr: [1, 2] }
};
const clone = structuredClone(original);
clone.nested.arr.push(3);
// original.nested.arr inchange
Cas d'usage
Deep clone d'etats complexes, transfert de donnees entre workers, copie d'objets avec types speciaux.
Anti-pattern
Utiliser JSON.parse(JSON.stringify(obj)) qui perd les Date, Map, Set, undefined et les fonctions.