ES6+ WeakSet
1. 前言
上一节我们学习了 Set 数据结构,本节将学习与它类似的数据结构 WeakSet,不同的是 WeakSet 存放的数据是 一个 弱引用 类型。在 JavaScript 中,对象的引用是强保留的,这意味着只要持有对象的引用,它就不会被 垃圾 回收。JavaScript 属于高级语言, 存在 GC 机制,不需要直接地去操作内存,避免了很多问题。同时也让一些内存泄漏的问题变得更加不易察觉,所以 ES6 引入了 WeakSet 和 WeakMap 这样存储 弱引用 类型的数据结构,是不会阻止它被 垃圾 回收的。
2. 基本 用法
WeakSet 对象允许你将 一个 弱引用 对象报错在 一个 集合中。和 Set 一样,它们都是构造 函数 ,都需要实例化才能使用。WeakSet 可以接收 一个 可迭代对象作为参数,则该对象的所有迭代值都会被 自动添加 进 生成 的 WeakSet 对象中。null 被认为是 undefined。
const ws = new WeakSet ( [ i tera ble ] ) ;
WeakSet 对数据的操作 方法 相对 Set 是比较少的,只有 添加 、 删除 和查找,而且不能被遍历。
方法 名 描述 @H_ 403 _60@ add 向 WeakSet 实例中 添加 值 delete 删除 WeakSet 实例中的指定值 has 查找指定的值是否在 WeakSet 实例中
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did91794