es6代码转es5代码实现的思路
ES6转ES5分为以下两种情况
1.语法转换
ES6语法通过babel等工具为ES5语法,本质是将ES6语法转AST(抽象语法数——对编程语言编写的程序的一种描述)再将AST转为ES5语法代码;例如:let,const转换为var,箭头函数转换为function函数声明等
2.API转换
采用babel-polyfill等工具对ES5中不存在的API(包括Set等ES6中新的数据结构)做修复,例如:Array.prototype.includes
Set
Map
等在ES5中不存在,需要用相应的ES5代码实现这些API
补充说明
- .vue文件通过webpack的vue-loader分析出
script
style
template
再走上面的ES6转ES5流程 - jsx通过babel插件转js语法再走ES6转ES5
- ts通过tsc结合tsconfig.json直接转ES5