> 出处:[阮一峰的博客](http://www.ruanyifeng.com/blog/)
> 作者:阮一峰
说明:本文选自我的新书[《ES6 标准入门(第二版)》](http://www.ruanyifeng.com/blog/2016/01/ecmascript-6-primer.html)的第一章[《ECMAScript 6简介》](http://es6.ruanyifeng.com/#docs/intro))
[Babel](https://babeljs.io/)是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。
![](http://www.ruanyifeng.com/blogimg/asset/2016/bg2016012501.png)
这意味着,你可以现在就用ES6编写程序,而不用担心现有环境是否支持。下面是一个例子。
> ~~~
> // 转码前
> input.map(item => item + 1);
>
> // 转码后
> input.map(function (item) {
> return item + 1;
> });
> ~~~
上面的原始代码用了箭头函数,这个特性还没有得到广泛支持,Babel将其转为普通函数,就能在现有的JavaScript环境执行了。