1、什么是ECMAScript6?和JavaScript的关系
ECMAScript6(ES6),它是Javascript语言的下一代标准,已经在2015年6月正式发布了。
简单来说,ECMAScript是Javascript语言的国际标准,Javascript是ECMAScript的实现。
2、ECMAScript的兼容性
http://kangax.github.io/es5-compat-table/es6
兼容包(http://github.com/paulmillr/es6-shim)
3、环境支持
采用Traceur转码器
<!--加载Traceur编码器-->
<script src="http://google.github.io/traceur.js"></script>
<!--将Traceyr编译器用于网页-->
<script src="http://google.github.io/trsceur-compiler/src/bootstrap.js" /></script>
<!--打开试验选项,否则有些特性可能编译不成功-->
<script>
traceur.options.experimental=true;
</script>
<script type="module">
class Calc{
constructor(){
console.log('Calc constructor');
}
add(a,b){
return a+b;
}
}
var c=new Calc();
console.log(c.add(4,5));
</script>
总结:ECMAScript与Javascript区别:
script标签的type属性值是module或者traceur,而不是text/javascript
(这是traceur编译器识别ES6代码的标识,编译器会将所有的type="module"的代码编译为ES5,然后再交给浏览器执行。)
4、ECMAScript7
(1)Object.observe
用来监听对象以及数组的变化,一旦监听对象发生变化,就会触发回调函数。
(2)Async函数
在promise和Generator函数基础上,提出的异步操作解决方案。
(3)Multi-Threading
多线程支持。
(4)Traits
它是将“类”功能(class)的一个替代,通过它,不同的对象可以分享同样的特性。