Skip to content
This repository has been archived by the owner on Mar 13, 2018. It is now read-only.


Repository files navigation


This repo has moved to


Shim for ES6 WeakMap

Shim Limitations

As ES5 Javascript does not have the ability to use weak references, the key-value association must be held strongly somwhere.

In order to hold the key "weakly", a key property of WeakMap, the value is added to key as a hidden, randomly named property. This strategy avoids the possible memory leak of having two arrays holding keys and values, but does mean that key cannot be a frozen object.