es6 weakMap 在实际项目开发中怎么用?
es6 新增数据类型weakMap,在实际项目开发中怎么用? 请老师们解答一下具体适用场景.
回答:
plyr.js源码中有段代码,用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