Structured Clone
JavaScript 🟡 MidDéfinition
API globale structuredClone() qui crée 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 fidélité qui reproduit chaque détail, 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'états complexes, transfert de données entre workers, copie d'objets avec types spéciaux.
Anti-pattern
Utiliser JSON.parse(JSON.stringify(obj)) qui perd les Date, Map, Set, undefined et les fonctions.