Use cases for WeakMap

Erik Corry erik.corry at
Sun May 15 23:55:33 PDT 2011

2011/5/16 Brendan Eich <brendan at>:
> On May 15, 2011, at 3:48 PM, Oliver Hunt wrote:
>> On May 15, 2011, at 3:47 PM, Boris Zbarsky wrote:
>>> On 5/15/11 2:20 PM, Rick Waldron wrote:
>>>> Thanks Brendan, I was looking for something that was representative of
>>>> Boris's use-case
>>> A typical example is an extension wanting to associate some state with a DOM element or a Window without polluting the DOM.  For example, Adblock Plus wants to store some state per-element so that it knows when it's in the middle of unblocking something so it'll allow the load through for that one thing only.  Firebug wants to store some state per-window (e.g. script bodies, etc) and discard it when the window goes away.
>> Which is a use case private names would achieve much more succinctly than weakmaps.
> Not if the object is frozen.

That shouldn't prevent you adding private names.  See earlier message
in this thread.

> Unless you then overspecify private names *as* weak maps, in which case we are going in circles :-P.

Allowing private names on frozen objects doesn't imply the GC
semantics of weak maps so there is still a very important difference.

> /be
> _______________________________________________
> es-discuss mailing list
> es-discuss at

More information about the es-discuss mailing list