Open nfssuzukaze opened 3 years ago
有 JS 代码如下:
let obj = { a: 'a0', b: 'b0', c: 'c0', 0: 1, 1: 2, 2: 3 } obj.d = 'd0'
其在 v8 中的结构如下
有一部分属性存储在 JSObject 中, 其为对象内属性, 在各种类型的属性中访问速度最快 这类属性的 key 一定为非数字类型
key 值为非数字类型的属性存储在 properties 中
key 为数字类型的属性存储在 elements 中
隐藏类, 存储着一个对象的结构
JavaScript 的对象
有 JS 代码如下:
其在 v8 中的结构如下
inobject properties(对象内属性)
有一部分属性存储在 JSObject 中, 其为对象内属性, 在各种类型的属性中访问速度最快 这类属性的 key 一定为非数字类型
properties(命名属性)
key 值为非数字类型的属性存储在 properties 中
elements(数字索引属性)
key 为数字类型的属性存储在 elements 中
hidden class
隐藏类, 存储着一个对象的结构
快属性与慢属性性能上的区别