ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现。日常场合,这两个词是可以互换的
ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等
1.Babel转换器
babel是一个es6转码器,可以将 ES6 代码转为 ES5 代码,从而在老版本的浏览器执行
babel的配置文件是.babelrc,使用babel需要配置这个文件
该文件用来转码规则和插件的配置
{
presets: [],
plugins: []
}
presets通过官方提供的转码规则集,来进行配置,先通过npm安装后再在.babelrc文件的presets属性进行配置
# 最新转码规则 $ npm install --save-dev @babel/preset-env # react 转码规则 $ npm install --save-dev @babel/preset-react
{ "presets": [ "@babel/env", "@babel/preset-react" ], "plugins": [] }
https://github.com/babel/babel/tree/master/packages
Babel默认只转换新的句法,不转换新的api,对于新的api如果要在老版本浏览器可以运行的话,需要为当前环境提供pollfill(垫片)