WeakSet
ES6 中的 WeakSet 是 Set 的一种弱引用。它在 Set 的基础上有了一些限制。但是这些限制也可以作为某种应用场景下的优势。
定义
let dp = { name: 'dp', age: 20 }
let tms = { name: 'tms', age: 18 }
const people = new WeakSet([dp, tms]);
- 元素只能是对象
- 不能用
for of
来遍历 - 没有
forEach
方法 - 没有
clear
方法 - 可以自我清除,防止内存泄漏
const weakPeople = new WeakSet([dp, tms]);
console.log(weakPeople);
dp = null;
console.log(weakPeople);
const arrPeople = [dp,tms];
console.log(arrPeople);
dp = null;
console.log(arrPeople);