Re:ES6 Overview in Bullet Points
by danielnaab on Friday November 27, 2015 @03:00PM
(#10638637)
I've used a WeakMap for a kind of memoization.
Assume an immutable object may undergo an expensive transform that returns an object, which is then stored in a WeakMap keyed to the immutable. When there are no new references to that object, the garbage collector will clean it up, but otherwise the expensive transform may be avoided with a lookup on the WeakMap.
It provides a pretty nice way to decouple your caching from the rest of the codebase.
Proxies can be used for data-binding, similar to Object.observe.
I've also yet to find a case where I need WeakMaps instead of an Object or Map. All the benefits seem to be a bit too theoretical, but I likely haven't dug into it hard enough.