gpt4 book ai didi

javascript - 为什么 ES6 WeakMap 不可枚举?

转载 作者:行者123 更新时间:2023-12-03 00:28:11 26 4
gpt4 key购买 nike

在我重新进入 JavaScript(及相关)之前,我已经完成了大量的 ActionScript 3,其中有一个带有弱键的 Dictionary 对象,就像即将推出的 WeakMap 一样;但 AS3 版本仍然像常规通用对象一样可枚举,而 WeakMap 特别没有 .keys().values()

AS3 版本允许我们构建一些非常有趣且有用的结构,但我觉得 JS 版本有些限制。这是为什么?

如果 Flash VM 可以做到这一点,那么是什么阻止浏览器做同样的事情呢?我读到它是“不确定的”,但这就是重点,对吗?

最佳答案

终于找到真正的答案:http://tc39wiki.calculist.org/es6/weak-map/

A key property of Weak Maps is the inability to enumerate their keys. This is necessary to prevent attackers observing the internal behavior of other systems in the environment which share weakly-mapped objects. Should the number or names of items in the collection be discoverable from the API, even if the values aren't, WeakMap instances might create a side channel where one was previously not available.

关于javascript - 为什么 ES6 WeakMap 不可枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20508628/

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