什么是 AST
Abstract Syntax Tree(AST,抽象语法树) 是一种用于表示程序源代码的抽象语法结构的树形数据结构。每个节点(Node)都表示源代码中的一个语法构造(Syntax Construct),例如表达式、语句、操作符、函数、变量等。AST 通过去除代码中的不必要的语法细节(如括号、逗号、空格和注释),提供了一种更高层次的代码表示形式,使编译器或解释器可以更容易地进行分析、优化和代码生成。
在前端开发过程中,其实有很多工具都需要依赖于AST抽象语法树,比如:ESLint、Babel、Prettier等等。当我们使用 Vue.js 编写 template 时, template 转化成 render function 的过程,其实就是 AST 的转换过程,AST 是帮助程序理解代码的重要工具。
AST 的结构