Bootstrap

大佬口中的AST到底是什么?

白话文先总结

就是把代码转化成JSON结构的数据,方便代码分析或者代码转换。

什么是 AST(抽象语法树)?

AST,全称 Abstract Syntax Tree(抽象语法树),是代码的结构化表示,主要用于描述代码的语法结构,同时以树状的形式表达代码各个组成部分之间的关系。

每个节点(Node)代表源码中的一部分,比如:

  • 变量声明
  • 函数调用
  • 运算表达式

抽象语法树被广泛应用于**编译器、代码分析工具、代码转换工具(如 Babel、ESLint、Prettier)**中。


AST 的作用

  1. 代码分析:工具如 ESLint 会通过解析代码生成 AST,然后检查代码是否符合规范。
  2. 代码转换:Babel 将现代 JavaScript(ES6+)代码转换为旧版浏览器兼容的代码。
  3. 代码优化:编译器可以通过 AST 对代码进行优化,例如减少无用变量。
  4. 代码格式化:Prettier 解析代码为 AST,然后重新生成符合格式的代码。
  5. 代码可视化:可以用图形化工具理解代码的语法结构。

AST 的工作流程

;