使用教程
按照以下步骤使用 JavaScript AST 在线浏览器,探索代码的抽象语法树结构。
访问 JavaScript AST 在线浏览器页面。页面布局分为三个区域:左侧是代码编辑区,中间是 AST 树形图区域,右侧是节点详情面板。页面顶部有语言选择、ECMAScript 版本选择和解析器选择的下拉菜单。
在左侧代码编辑区输入你想要分析的 JavaScript 代码。可以从简单的代码开始,例如 var x = 1 + 2,逐步尝试更复杂的代码。工具会在你输入代码后自动解析并生成 AST。你也可以修改页面顶部的语言、版本和解析器设置,观察不同配置下 AST 的差异。
中间区域展示代码对应的 AST 树形图。树的根节点是 Program,代表整个代码文件。从根节点向下展开可以看到各种类型的节点:VariableDeclaration(变量声明)、ExpressionStatement(表达式语句)、BinaryExpression(二元表达式)等。
点击节点可以展开或折叠子节点。鼠标悬停在节点上时,对应的源代码片段会被高亮显示,帮助理解节点与源码的对应关系。
在树形图中点击感兴趣的节点,右侧详情面板会展示该节点的完整信息。你会看到节点的类型名称、在源码中的起始和结束位置、以及该类型特有的属性。例如,点击一个 Identifier 节点会看到 name 属性,点击一个 Literal 节点会看到 value 属性。
通过详情面板可以深入了解每种 AST 节点的结构,这对于编写 Babel 插件和 ESLint 规则非常有帮助。
如果你对特定类型的节点感兴趣,可以使用搜索功能。在搜索框中输入节点类型关键词,例如 CallExpression,工具会列出代码中所有该类型的节点。点击搜索结果可以直接跳转到树形图中对应的节点位置。
这是一个非常实用的功能,特别是在分析大型代码文件时,可以快速定位到你关注的代码结构。
进阶探索建议
- 尝试修改解析器设置,对比 Acorn 和 Babel 生成的 AST 差异
- 将 ECMAScript 版本从 ES2015 切换到 ES5,观察箭头函数等语法的 AST 表示变化
- 编写一个包含条件语句、循环和函数定义的完整程序,观察复杂代码的 AST 结构
- 通过搜索 IfStatement 节点学习条件语句在 AST 中的表示方式
UD5工具箱