前言
在这篇文章中,我们将通过 JS 构建我们自己的 JS 解释器,用 JS 写 JS,这听起来很奇怪,尽管如此,这样做我们将更熟悉 JS,也可以学习 JS 引擎是如何工作的!...The ESTree Spec 就诞生了,作为参与构建和使用这些工具的人员的社区标准。...从语法树中我们可以看到三个陌生的节点类型,来看看它们分别代表什么意思:
VariableDeclaration
变量声明,kind 属性表示是什么类型的声明,因为 ES6 引入了 const/let。...: Expression | null;
}
Identifier
顾名思义,标识符节点,我们写 JS 时定义的变量名,函数名,属性名,都归为标识符。...有没有想到还有什么情况没处理? for 循环的中断语句呢?