打赏

ES6 WeakMap和WeakSet的使用场景

JavaScript垃圾回收是一种内存管理技术。在这种技术中,不再被引用的对象会被自动删除,而与其相关的资源也会被一同回收。

Map和Set中对象的引用都是强类型化的,并不会允许垃圾回收。这样一来,如果Map和Set中引用了不再需要的大型对象,如已经从DOM树中删除的DOM元素,那么其回收代价是昂贵的。

为了解决这个问题,ES6还引入了另外两种新的数据结构,即称为WeakMap和WeakSet的弱集合。这些集合之所以是“弱的”,是因为它们允许从内存中清除不再需要的被这些集合所引用的对象。

 

使用场景:储存 DOM 节点,而不用担心这些节点从文档移除时,会引发内存泄漏

posted @ 2018-12-29 11:46  孟繁贵  阅读(1972)  评论(0编辑  收藏  举报
TOP