前面的话:

ES6是JavaScript语言的下一代标准,已经在 2015 年 6 月正式发布。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言;

为什么要学习ES6呢?

很多流行的JavaScript开源框架都使用ES6编写,如Vue.js、video.js、d3.js等等;

ES6可以大大提高开发效率,同时让语法更加规范化,一定程度上增强了代码安全;

更重要的是,ES6是语言级别的升级,而非一个库或框架。


一:ES6目前(2018.03)在快速推广使用,但是尚且存在兼容性问题

由于用户使用的浏览器版本在发布的时候也许早于ES6的定稿和发布,而到了今天,如果使用了ES6的新特性,用户浏览器若没有更新版本,或者新版本中没有对ES6的特性进行兼容,那么浏览器肯定无法识别我们的ES6代码,好比浏览器根本看不懂我写的let和const是什么东西?只能报错了。这就是浏览器对ES6的兼容性问题。

二:常用解决方案

通常的解决思路:把ES6语法转换成ES5语法。多团队为此开发出了多种语法解析转换工具,比较通用的工具方案有babel,jsx,traceur,es6-shim等。

三:大环境

浏览器自身也加快速度兼容ES6的新特性,其中对ES6新特性最友好的是Chrome和Firefox浏览器。即使浏览器对ES6新特性开始渐渐支持,但是这还需要很长一段时间;

虽然出现了各种转换工具,但是到目前为止,还没有一款工具能百分百将ES6的新特性完美地转换成ES5,因为在ES6新增的内容中,存在一些无法在ES5中找到与之匹配的语法,所以不建议在生产环境中使用支持度较低的新特性。

四:使用转换工具babel示例

<script src="browser.min.js"></script>
<script type="text/babel">
   const Name = '张三';//使用新增的关键字:const声明常量
   alert(Name);
</script>