繁体   English   中英

Javascript 垃圾收集器是否会删除未使用的键/值对?

[英]Does the Javascript garbage collector delete unused key/value pairs?

我有一个 websocket 系统,其中我有一个名为sessions的 object ,关键是 session 的名称,而值是 websockets 库的数组,而使用ws库。 我想知道垃圾收集器是否会自动删除未使用的键/值对,例如旧会话,或者我是否必须使用delete关键字手动删除。

不。

当没有对它们的引用时,垃圾收集将清理它们。

引用可以是 object 属性或变量。

如果变量或属性被新值覆盖,属性被显式delete d 或变量超出 scope(例如 ZC1C425268E68385F9F9F9A18A58Z (例如,ZC1C425268E68385F9F9F9A18A58Z),则引用将仅 go 离开。


在您的示例中:

sessions将引用您的 object。 它不会 go 消失,因为您始终拥有对会话集合的引用。

在 object 内部,指向 arrays 的属性不会 go 消失,因为 ZA8CFDE6331BD59EB2AC96F819 仍然存在。

如果要删除 object 的值之一,则需要明确执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM