es6 weakMap 在实际项目开发中怎么用?

es6 新增数据类型weakMap,在实际项目开发中怎么用? 请老师们解答一下具体适用场景.


回答:

plyr.js源码中有段代码,用WeakMap来存储视频字幕的元信息,并且和轨道相绑定。

es6 weakMap 在实际项目开发中怎么用?

es6 weakMap 在实际项目开发中怎么用?

我猜测WeakMap使用的原因是因为视频流的轨道信息本身是会在某个时刻被清除,然后垃圾回收掉。所以字幕的元信息也应该随着轨道的清除而清除。

所以从第三方库的实际应用场景来说,WeakMap用来存储会随时清除,并且保证垃圾回收能够覆盖的一些对象。


回答:

一般来说会很少用到 weakMap ,大部分情况都用到的是 map
不过确定自己需要的是弱引用,也就是说想要 set 进来的数据,在其他地方释放的时候可以被GC回收,这是时候可以选择 weakMap

具体可以看阮一峰老师的 Set 和 Map 数据结构 - ECMAScript 6入门。


回答:

怎么用看文档。适用场景可以参考阮一峰大佬的文章,里面有提到,实际开发中基本不太会用到,尤其在有了Vue/React/Angular,反正我没有在实际项目中使用过。

一个典型应用场景是,在网页的 DOM 元素上添加数据,就可以使用WeakMap结构。当该 DOM 元素被清除,其所对应的WeakMap记录就会自动被移除。

https://es6.ruanyifeng.com/#d...

以上是 es6 weakMap 在实际项目开发中怎么用? 的全部内容, 来源链接: utcz.com/p/932894.html

回到顶部