gpt4 book ai didi

javascript - 访问 WeakMap 项

转载 作者:行者123 更新时间:2023-11-30 20:26:47 26 4
gpt4 key购买 nike

为什么在 WeakMap 中不能直接访问项目?当垃圾收集器删除作为 WeakMap 键的链接时,与此键相关联的值也会被删除吗?

最佳答案

通过“直接访问项目”,我假设您的意思是为什么它们不可枚举?这是 MDN 的解释:

Because of references being weak, WeakMap keys are not enumerable (i.e. there is no method giving you a list of the keys). If they were, the list would depend on the state of garbage collection, introducing non-determinism. If you want to have a list of keys, you should use a Map.

我不确定我是否理解问题的第二部分。如果没有对键的非弱引用,则条目(即键值对)有资格从 WeakMap 中删除。该值发生的情况与从 Map 或其他任何地方删除时发生的情况相同:如果它是对该值的最后一个非弱引用,则它有资格进行垃圾收集.但是,只要条目(键值对)在 WeakMap 中存活,该值就被认为是被引用的,并且不会被垃圾回收。

关于javascript - 访问 WeakMap 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50812450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com