Structured Clone

JavaScript 🟡 Mid

Definition

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.
#core#ES2022#performance