ES6转为ES5 AST
Babel如何将ES6转化为ES5的呢?
转换过程:
分为三步:
1.babylon进行解析
第一步主要是将ES6语法解析为AST抽象语法树。
2.Transform转换
第二步是将打散的AST语法进行处理,在这个阶段可以将ES6代码进行相应的转换。
3.Generator生成
第三步根据处理后的AST再生成可执行的代码。
w
AST是什么?
AST是源代码的抽象语法的树状表示,树上的每个节点都表示源代码中的一种结构,所以是抽象的,抽象表示把JS代码进行了结构化的转化,转化为一种数据结构。是一个大的JSON对象。
程序的一段源代码在执行之前会经历三个步骤,统称为“编译"。
1.词法分析
扫描代码,将其分解成有意义的代码块,这些代码统称为词法单元。
2.语法分析
它会将词法分析出来的代码块转换成树形的形式,这个树被称为”抽象语法树“。
3.代码生成
将AST转化为可执行的代码