去除外部对 WeakMap key 的强引用,为什么 WeakMap 中的 key 还在?

WeakMap 这个特殊的集合类型实在 ES6 中加入的,其独特之处就在于弱引用。


弱引用的定义这边就不说了,大家可以到 MDN 上去看。


下面直接抛出问题代码:


var a = new WeakMap();

var b = {id: 1};

var c = "lalala"


// 添加内容

a.set(b,c);


//解除外部强引用

b = null;


console.log(a);

解除外部强引用后,WeakMap 中应该没有内容才对,但是结果是, WeakMap 中的内容还在!


这是为什么?求解


杨__羊羊
浏览 677回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript