WeakMap 弱映射

WeakMap的键只能是Object

const x = new WeakMap();
let key1 = {
key: 1
}
x.set(key1, 2);
console.log(x.get(key1)); //2
console.log(x.has(key1)); //true
console.log(x.delete(key1)); //true
//Object的引用即内容 本质上就是一种hash

WeakMap不可迭代

可以利用WeakMap 创建class中的私有变量

内存释放

当key对象被释放时 响应 键值释放

当weakmap本身被释放时