es6 WeakMap - 2019-01-13
2019-01-14 本文已影响0人
勇敢的小拽马
- 2019-01-13 创建
WeakMap与Map的区别:
WeakMap只接受对象作为键名(null除外),不接受其他类型的值作为键名,而且键名所指的对象不计入垃圾回收机制
设计的目的:键名是对象的弱引用,所以其所对应的对象可能会被自动回收。当对象被回收后,WeakMap自动移除对应的键值对
典型的应用是:一个对应DOM元素的WeakMap结构,当某个DOM元素被清除,其所对应的WeakMap记录就会自动被移除。基本上:WeakMap的专用场合就是,他的键所对应的对象可能会在将来消失。WeakMap结构有助于防止内存泄露
没有size方法,不能遍历。只有:
get(),
set(),
has(),
delete()