WeakMap & WeakSet
Introduction to Weak Collections
WeakMap and WeakSet are special collections that hold "weak" references to their keys/elements. This means they don't prevent garbage collection of their contents, making them ideal for metadata storage without memory leaks.
1. WeakMap Basics
WeakMap Methods:
set(key, value)- Add key-value pairget(key)- Retrieve valuehas(key)- Check existencedelete(key)- Remove entry
3. Garbage Collection Behavior
The key difference from Map/Set is automatic cleanup when objects are no longer referenced.
5. Cache Implementation
WeakMap is perfect for caching where cache should automatically clear.
7. Map vs WeakMap Comparison
2. WeakSet Basics
WeakSet Methods:
add(value)- Add objecthas(value)- Check existencedelete(value)- Remove object
4. Practical Use Cases
Perfect for private class data and DOM element metadata.
6. WeakSet Use Cases
Great for tracking objects without preventing garbage collection.
When to Use Weak Collections
| Use Case | Recommended Collection | Reason |
|---|---|---|
| Private class data | WeakMap | Automatic cleanup when instance is garbage collected |
| DOM element metadata | WeakMap | No memory leaks when elements removed from DOM |
| Object caching | WeakMap | Cache clears when objects no longer needed |
| Tracking processed objects | WeakSet | Automatic removal from tracking set |
| Circular reference prevention | WeakMap/WeakSet | Helps avoid memory leaks in complex object graphs |
| General data storage | Map/Set | When you need iteration, size, or primitive keys |
Explore Related Tools
Hand-picked utilities and calculators related to this tool.
