写在前面
原文地址:
https://www.bram.us/2019/11/25/faster-javascript-apps-with-json-parse/
原文中包含油管视频,有梯子并且英文好的可以直接点开链接观看。
针对太长不看的读者
因为 JSON
语法比 Javascript
的语法更简单,因此解析 JSON
比解析 Javascript
更高效。当一个 web app 需要加载在首次加载时,解析一个非常复杂的、大型的、符合 JSON
规范的对象字面量配置对象时(比如配置 redux 的 store),我们可以根据这一点来提升首屏加载性能。
为什么 JSON.parse
更快
使用 AST
表示 JSON.parse(...)
更加简单
在 AST
中,表示 JSON.parse(...)
更加简单,只包含一个类型为 CallExpression
,一个类型为 StringLiteral
的 token
即可。
而表示等价的对象字面量代码则复杂的多,复杂程度取决于 JSON
字符串所代表对象的复杂程度,每一个 key 值为一个类型为 StringLiteral
的 token
,每一个值为 NumericLiteral
类型的 token