除了Set和Map这两种新的数据结构 ES6还增加了它们的弱化版本, WeakSet和WeakMap
基本上, Map和Set与其弱化版本之间仅有的区别是:
- WeakMap类也可以用set方法但不能使用数字、字符串、布尔值等基本数據类型,需要将名字转换为对象
- 同样的逻辑也适用于WeakSet类
1.创建和使用这两个类主要是为了性能。 WeakSet和WeakMap是弱化的(用对象作为键)没有强引鼡的键。这使得JavaScript的垃圾回收器可以从中清除整个入口
2.必须用键才可以取出值。这些类没有entries、 keys和values等迭代器方法因此,除非你知道键否則没有办法取出值。即可使用WeakMap类封装ES6类的私有属性