Structured Clone
L'algorithme de clonage structuré copie récursivement des graphes d'objets (y compris références circulaires, Date, RegExp, Map, Set, ArrayBuffer) pour un transfert inter-contextes via postMessage.
Objectif
Copie d'objets plus puissante que JSON.stringify, prenant en charge références circulaires et davantage de types ; le socle de sérialisation de postMessage.
Mécanisme
Il parcourt récursivement les propriétés de l'objet en copiant les valeurs, avec prise en charge des références circulaires (via une table de mémo), Date, RegExp, Map, Set, TypedArray, ArrayBuffer, Error, etc. Les fonctions, nœuds DOM et propriétés Symbol ne sont pas pris en charge.
Cas d’usage
- Sérialisation de postMessage
- Copie profonde d'objets
- Transfert inter-contextes