javascript / intermediate
Snippet
Speicher-sichere Metadaten mit WeakMap
WeakMap ermöglicht es, Daten mit einem Objekt zu verknüpfen, ohne dessen Garbage Collection zu verhindern, was ideal für die Verwaltung von privatem Status oder Metadaten ist.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
const userMetadata = new WeakMap();function setMetadata(user, data) {userMetadata.set(user, data);}function getMetadata(user) {return userMetadata.get(user);}// When 'user' object is garbage collected,// the entry in userMetadata is also removed.
Erklärung
1
new WeakMap();
Initialisiert eine Sammlung, bei der Schlüssel Objekte sein müssen und schwach referenziert werden.
2
userMetadata.set(user, data);
Hängt Daten an das Benutzerobjekt an, ohne das Objekt selbst zu verändern.