javascript / expert
Snippet
Speichereffiziente Metadatenspeicherung mit WeakMap
Auf Expertenebene ist die Verwaltung des Speichers für komplexe Objekte oder Komponenteninstanzen entscheidend. WeakMap ermöglicht es Ihnen, Metadaten mit Objekten zu verknüpfen, ohne zu verhindern, dass diese Objekte vom Garbage Collector bereinigt werden. Im Gegensatz zu einer Standard-Map erstellt WeakMap keine starke Referenz auf den Schlüssel, was es zum idealen Muster für interne Register und Zustandsverfolgung in umfangreichen Next.js-Anwendungen macht.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
const instanceRegistry = new WeakMap();function trackComponent(instance, metadata) {instanceRegistry.set(instance, {...metadata,timestamp: performance.now()});}// Usage inside a custom hook or classconst metadata = instanceRegistry.get(this);
nextjs
Erklärung
1
const instanceRegistry = new WeakMap();
Initialisiert eine Sammlung, in der Schlüssel Objekte sind und schwach gehalten werden.
2
instanceRegistry.set(instance, { ... });
Fügt Metadaten an eine Objektinstanz an, ohne die eigene Struktur des Objekts zu verändern.
3
performance.now()
Liefert einen hochauflösenden Zeitstempel für eine präzise Performance-Überwachung.