ECMAScript6 WeakMap polyfill.
$ npm install --save weakmap-polyfillImport or require weakmap-polyfill, then WeakMap will be defined in the global scope if native WeakMap is not supported in running environment.
import 'weakmap-polyfill'; const weakMap = new WeakMap();require('weakmap-polyfill'); var weakMap = new WeakMap();<script src="weakmap-polyfill.min.js"></script> <script> var weakMap = new WeakMap(); </script>- Chrome 15
- Firefox 3
- IE 7
- Safari 4
- Opera 11.5
- Edge
This polyfill has following few limitations.
- WeakMap
iterableargument is not supported. (23.3.1.1 WeakMap ( [ iterable ] )) - Frozen and sealed objects are not supported.
- The values held by a WeakMap can't be collected once the map itself is GCed, since the values here are tied to the keys. #4
MIT