ES6 WeakMap和WeakSet的使用场景

Posted mengfangui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6 WeakMap和WeakSet的使用场景相关的知识,希望对你有一定的参考价值。

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

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

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

以上是关于ES6 WeakMap和WeakSet的使用场景的主要内容,如果未能解决你的问题,请参考以下文章

ES6:数据结构Set和Map&WeakSet和WeakMap

ES6 Map WeakMap Set WeakSet

es6 Map,Set 和 WeakMap,WeakSet

ES6 Set,WeakSet,Map,WeakMap

10-map/WeakMap/WeakSet的使用场景

JavaScript 中的 Map, Set, WeakMap, WeakSet