我存储我的JavaScript内部对象的引用设置:JavaScript的套装失去了参考,但不会改变大小
let set1 = new Set();
let obj = {};
然后,如果我使用有()方法和设置对象,我得到的大小属性下一个结果:
console.log(set1.size) //it returns 1
console.log(set1.has(obj)) //it returns true
但是,如果删除使用下一个代码中的对象的参考:
obj = null;
的ñ奇怪的行为发生在我身上:
console.log(set1.size); //it returns 1 because they are Hard Sets.
console.log(set1.has(obj)); //it returns false
在最后一行,为什么它返回false,如果大小没有改变?然后,参考文献丢失,但大小没有改变。
你不“删除引用”,你只是覆盖变量的值。 'Set'仍然保持对象的引用(为什么不会) – zerkms
谢谢@zerkms,我该如何完全删除对象来影响这个Set? – frankfullstack
您需要使用该套件的“删除”功能。 'set1.delete(obj);' – zerkms