JavaScript AST 核心知识解析
一、AST 的作用
1. 代码解析与理解
- 以结构化树状形式描述代码语法
- 作为编译器/解释器理解代码的基础结构
2. 代码转换与优化
- 支持语法版本转换(如 ES6 → ES5)
- 实现性能优化和代码压缩
3. 代码生成
- 生成目标代码(JS、机器码等)
- Babel 等工具的核心转换机制
4. 代码分析
- 静态分析潜在问题
- 支持 ESLint 等代码规范检查
二、AST 的六大核心用途
1. 编译与转译
- Babel 工作流程:
- 源代码 → AST
- AST 转换(语法降级)
- 生成目标代码
- 支持 TypeScript → JavaScript 等跨语言编译
2. 静态代码分析
- ESLint 规则校验(未使用变量检测等)
- 安全漏洞扫描(XSS/SQL 注入检测)
3. 代码重构
- Prettier 代码格式化
- 批量语法替换(var → let/const)
4. 代码优化
- 死代码消除
- Terser 压缩(空格删除、变量混淆)
5. 代码生成
-
Vue/React 模板编译:
<div>{{ message }}</div>