Babel与core-js
1.Babel是把ES6的语法转成ES5
比如:const、箭头函数、...(结构)、模板字符串等等
Babel原理
转译分为三阶段:
解析(Parse),将代码解析⽣成抽象语法树 AST,也就是词法分析与语法分析的过程
转换(Transform),对语法树进⾏变换方面的⼀系列操作。通过 babel-traverse,进⾏遍历并作添加、更新、删除等操作
Ast遍历可以通过深度优先遍历(DFS)或者广度优先遍历(BFS)
⽣成(Generate),通过 babel-generator 将变换后的 AST 转换为 JS 代码
2.core-js
core-js是JavaScript标准库的 polyfill(垫片/补丁)
1.检测新特性是否在window上是否存在或者原型上;
比如:promise、Obect.assign({})、filter等等
2.若不存在,则帮你从对应的包里按需引用