脚本宝典收集整理的这篇文章主要介绍了ECMAScript 6 简介,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
ECMAScript 6 是JavaScript的下一个标准,正处在快速开发之中,大部分已经完成了,预计将在2014年正式发布。Mozilla将在这个标准的基础上,推出JavaScript 2.0。
ECMAScript 6 的目标,是使得JavaScript可以用来编写复杂的应用程序、函数库和代码的自动生成器(code generator)。
最新的浏览器已经部分支持ecmascript 6 的语法,可以通过《ECMAScript 6 浏览器兼容表》查看浏览器支持情况。
一、ECMAScript 6 新内容一览
解构: let {x, y} = pt; let [s, v, o] = triple();
(如可以 let pt = {x:2, y:-5}
).
rest: function g(i, j, ...r) { return r.slice(i, j); }
(而不是疯狂地使用arguments).
proxies: let obj = Proxy.create(handler, proto)
. 简单地说,就是类对象元素的符号重载.
generators: function* gen() { yield 1; yield 2; }
事实上, gen() 返回一个有next()属性的对象
迭代器: for (var [key, val] of ITems(x)) { alert(key + ',' + val); }
. Iterators 可以是 generators 或者 proxies.
array and generator comprehension: [a+b for (a in A) for (b in B)]
(array comprehension), (x for (x of generateValues()) if (x.color === 'blue'))
(generator exPression).
二进制数据: const Pixel = new StructTyPE({x:uint32, y:uint32, color:Color})
(此处Color本身就是一个结构类型), new ArrayType(Pixel, 3)
.
-
类语法, 包含 extends
, prototype
, and super
:
@H_912_126@class Point extends Base {
constructor(x,y) {
super();
this[px] = x, this[py] = y;
this.r = function() { return Math.sqrt(x*x + y*y); }
}
get x() { return this[px]; }
get y() { return this[py]; }
proto_r() { return Math.sqrt(this[px] * this[px] +
this[py] * this[py]); }
equals(p) { return this[px] === p[px] &&
this[py] === p[py]; }
}
-
模块:
module math {
export function sum(x, y) {
return x + y;
}
export VAR pi = 3.141593;
}
import {sum, pi} From math;
alert(sum(pi,pi));
-
quasis: multiline, 可扩展的预处理字符串. You are ${age} years old.
.
// The following regexp spans multiple lines.
re`line1: (words )*
line2: w+`
// It desugars to:
re({raw:'line1: (words )*nline2: w+',
cooked:'line1: (words )*nline2: w+'})
二、参考资料
http://espadrine.github.io/Ne... espadrine
http://javascript.ruanyifeng.... ruanyifeng
ECMAScript 6系列文章请移步:http://barretlee.com/ES6/
以上是脚本宝典为你收集整理的ECMAScript 6 简介全部内容,希望文章能够帮你解决ECMAScript 6 简介所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。