Zum Hauptinhalt Zur Navigation Zur Suche

Golem Plus Artikel
Immutable.js:
Ein Klassiker für unveränderliche Datenstrukturen

Spannendes Web
Immutable.js zeigt, wie sich komplexer State kontrollierter modellieren lässt und warum persistente Datenstrukturen immer noch mehr sind als ein theoretisches Konzept.
/ Fabian Deitelhoff
Kommentare Auf Google folgen (öffnet im neuen Fenster)
Immutable bedeutet, dass unveränderte Teile weiterverwendet und nur geänderte Bereiche neu angelegt werden. (Bild: Myburgh Roux/Pixabay)
Immutable bedeutet, dass unveränderte Teile weiterverwendet und nur geänderte Bereiche neu angelegt werden. Bild: Myburgh Roux/Pixabay

Der Trend hin zu reaktiven Benutzeroberflächen, paralleler Verarbeitung und verlässlicher Codebasis verstärkt die Frage nach Immutabilität. Immutable bedeutet: Daten werden nicht direkt verändert. Stattdessen entsteht bei jeder Änderung eine neue Version der Datenstruktur. Unveränderte Teile werden dabei intern weiterverwendet, nur die tatsächlich geänderten Bereiche werden neu angelegt.

Die von Facebook entwickelte Bibliothek Immutable.js bringt solche Strukturen nach Javascript. Sie nutzt spezielle Datenstrukturen, um beim Erzeugen neuer Versionen große Teile der Struktur wiederzuverwenden. Dadurch bleibt der Speicherbedarf überschaubar und Kopien lassen sich in konstanter Zeit erstellen. Streng genommen sind Operationen auf Hash-Array-Mapped-Tries (HAMT) typischerweise O(log n) mit sehr kleinem, durch die Baumtiefe begrenztem Faktor, was nahezu konstanten Aufwand bedeutet.

Golem Plus Artikel