您的位置:首页 > 其它

ES6介绍

2016-01-13 13:34 429 查看
兼容包:

https://github.com/paulmillr/es6-shim

浏览器支持:

对ES6的支持可以查看kangax.github.io/es5-compat-table/es6/

Traceur库:

Traceur 是一个来自 Google 的 Javascript 编译器,通过它可以体验一些很新并且有趣的 Javascript 语言特性,这些多数是还没有被当前浏览器实现的 ECMAScript 标准或草案,

比如:数组比较、类、模块、迭代器、方法参数默认值、Promise等。

Promises是什么

Promises象征着一个异步操作的最终结果。Promises交互主要通过它的then方法,then方法接受一个回调函数,这个回调函数接受执行成功的返回值或执行失败的错误原因,错误原因一般是Error对象。

需要注意的是,then方法执行的返回值是一个Promise对象,而then方法接受的回调函数的返回值则可以是任意的JavaScript对象,包括Promises。

基于这种机制,Promise对象的链式调用就起作用了。

//callbacks
function callback(err, value){
if(err){
// do something
return;
}
//do other things     with value
}
//Promises
promise.then(function(value){
//do something with value
}, function(err){
//do other things with error
})


<!-- 加载Traceur编译器 -->
<script src="http://google.github.io/traceur-compiler/bin/traceur.js"
type="text/javascript"></script>
<!-- 将Traceur编译器用于网页 -->
<script src="http://google.github.io/traceur-compiler/src/bootstrap.js"
type="text/javascript"></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>

注意,script标签的type属性的值是module(或者traceur),而不是text/javascript。
这是Traceur编//译器识别ES6代码的标识,编译器会自动将所有type=module的代码编译为ES5,
然后再交给浏览器执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: