es6 WeakMap - 2019-01-13

2019-01-14  本文已影响0人  勇敢的小拽马

WeakMap与Map的区别:

WeakMap只接受对象作为键名(null除外),不接受其他类型的值作为键名,而且键名所指的对象不计入垃圾回收机制

设计的目的:键名是对象的弱引用,所以其所对应的对象可能会被自动回收。当对象被回收后,WeakMap自动移除对应的键值对

典型的应用是:一个对应DOM元素的WeakMap结构,当某个DOM元素被清除,其所对应的WeakMap记录就会自动被移除。基本上:WeakMap的专用场合就是,他的键所对应的对象可能会在将来消失。WeakMap结构有助于防止内存泄露

没有size方法,不能遍历。只有:
get(),
set(),
has(),
delete()

上一篇下一篇

猜你喜欢

热点阅读