我看网上的资料说,v8 实现隐藏类有一个假设,对象的行状是固定的。
动态添加属性会创建新的隐藏类,为什么我在 chrome memory 中看到现象是这两种写法都会创建三个隐藏类(back_pointer
指向上一个隐藏类),这是为什么?
以我的理解,代码一,应该是创建三个隐藏类,代码二应该只有一个隐藏类
下面是代码
代码一:
const foo = {}
foo.name = "a"
foo.type = "b"
对应隐藏类图片:
代码二:
const foo2 = {
name: "a",
type: "b",
}
对应隐藏类图片:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.