为什么用null初始化一个对象的属性会提高速度?

Why does initialising an object's property with null increase the speed?

本文关键字:高速度 属性 null 初始化 一个对象 为什么      更新时间:2023-09-26

出于某种原因,它出现(至少在Chrome中),如果你创建一个对象,并初始化每个属性的空值,然后分配一个值给每个,它是比简单地离开对象空白最初更快。为什么是这样(测试)?

V8 (Chrome的Javascript引擎)有优化定义隐藏类来表示特定对象在你的Javascript。在创建时声明对象的属性会更好。

使用隐藏类有两个优点:属性访问不需要字典查找,并且它们使V8能够使用经典基于类的优化,内联缓存。

https://developers.google.com/v8/design prop_access