Structured Clone

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Unter Structured Clone versteht man den Algorithmus, den JavaScript zum Übertragen komplexer Objektstrukturen von einem Datenbereich in einen anderen verwendet. Er kommt JavaScript-intern zum Einsatz, wenn die globale Function structuredClone aufgerufen wird, sowie bei der [[postMessage()]-Datenübertragung zwischen Workern, beim Speichern von Objekten mit IndexedDB und auch beim Kopieren von Objekten für andere APIs.

Nicht alles lässt sich kopieren:

  • Kontextgebundene Objekte wie Funktionen oder DOM-Knoten lösen eine DataCloneError Exception aus.
  • Selbst erstellte Property-Deskriptoren werden nicht übertragen.
  • Properties, deren Property-Descriptor enumerable: false enthält, werden nicht übertragen
  • Für Properties, die als get-Funktion implementiert sind, wird der Wert im Moment des Clonens übertragen
  • Eigenschaften von Prototyp-Objekten werden nicht übernommen