常规属性(properties)和排序属性(element)

对象中的字符串属性被称为properties,是按照创建的顺序;数字属性被称为element,按照索引值大小排序。
233820717-b4213c8c-2c31-42bb-ba10-9085da32c522

在对象bar内部分别使用了两个线性数据结构保存这两种属性,索引顺序element → properties

对象内属性

为了提升查找效率,V8实现了对象内属性策略,如果对象属性少于一定数量时,V8就会把这些属性直接写入对象中。如果多于一定数量时,V8就会将线性存储模式降级为非线性字典结构,这样虽然降低了查找速度,但是提升了修改速度。

数量少时

233820728-8330db15-a5a8-438f-bbaa-dac619738624

数量多时

233820736-2539bdd1-c741-422f-9227-b51f10515234

隐藏类Map

描述了对象内的属性布局,包括对象名和偏移量,每次对象的修改都会更新隐藏类。

守护隐藏类

❤️ 转载文章请注明出处,谢谢!❤️