。烦啦 2021-04-20 18:19 采纳率: 0%
浏览 102

es6中weakmap和和weakset的应用场景在哪里?

现代浏览器基本都是采用标记清除法的垃圾回收方式,而es6中weakmap和和weakse的作用基于引用计数法的垃圾回收,那么其应用场景在哪里?

  • 写回答

4条回答 默认 最新

  • 关注

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

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

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

     

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

    评论

报告相同问题?