Structured Clone

JavaScript 🟡 Mid

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

← → au clavier pour passer d'une fiche à l'autre