ECMAScript6 WeakMap polyfill.
$ npm install --save weakmap-polyfill
Import 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
iterable
argument 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