资讯专栏INFORMATION COLUMN

ECMAScript 6 简介

lansheng228 / 1020人阅读

摘要:是的下一个标准,正处在快速开发之中,大部分已经完成了,预计将在年正式发布。将在这个标准的基础上,推出。的目标,是使得可以用来编写复杂的应用程序函数库和代码的自动生成器。最新的浏览器已经部分支持的语法,可以通过浏览器兼容表查看浏览器支持情况。

ECMAScript 6 是JavaScript的下一个标准,正处在快速开发之中,大部分已经完成了,预计将在2014年正式发布。Mozilla将在这个标准的基础上,推出JavaScript 2.0。

ECMAScript 6 的目标,是使得JavaScript可以用来编写复杂的应用程序、函数库和代码的自动生成器(code generator)。

最新的浏览器已经部分支持ECMAScript 6 的语法,可以通过《ECMAScript 6 浏览器兼容表》查看浏览器支持情况。

一、ECMAScript 6 新内容一览

let, const (定义块级局部变量), 函数在块级域中

解构: let {x, y} = pt; let [s, v, o] = triple(); (如可以 let pt = {x:2, y:-5}).

参数设置默认设置: function f(x, y=1, z=0) {...}

rest: function g(i, j, ...r) { return r.slice(i, j); } (而不是疯狂地使用arguments).

spread: let a = [0,1,2,3], o = new Something(...a);

proxies: let obj = Proxy.create(handler, proto). 简单地说,就是类对象元素的符号重载.

weak map: let map = new WeakMap. 当你有循环应用的时候用它.

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:

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 )*
line2: w+",
    cooked:"line1: (words )*
line2: w+"})

二、参考资料

http://espadrine.github.io/Ne... espadrine

http://javascript.ruanyifeng.... ruanyifeng

ECMAScript 6系列文章请移步:http://barretlee.com/ES6/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87489.html

相关文章

  • JavaScript 简介

    摘要:简介原文链接简称是一种轻量级,解释型的编程语言,其函数是一等公民。标准的目标是让任何一种程序设计语言能操控使用任何一种标记语言编写出的任何一份文档。核心规定了如何映射基于的文档结构,以便简化对文档的任意部分的访问和操作。 JavaScript 简介 原文链接 JavaScript ( 简称:JS ) 是一种 轻量级,解释型 的编程语言,其函数是一等公民。众所周知,它是用于网页开发的脚...

    URLOS 评论0 收藏0
  • 《JavaScript 闯关记》之简介

    摘要:浏览器只是实现的宿主环境之一,其他宿主环境包括和。年月,版发布,成为国际标准。事件定义了事件和事件处理的接口。对于已经正式纳入标准的来说,尽管各浏览器都实现了某些众所周知的共同特性,但其他特性还是会因浏览器而异。 JavaScript 是面向 Web 的编程语言,绝大多数现代网站都使用了 JavaScript,并且所有的现代 Web 浏览器(电脑,手机,平板)均包含了 JavaScri...

    baihe 评论0 收藏0
  • 做一名精致的JavaScripter 01:JavaScript简介

    摘要:精致从细节做起。标准会在每年的月发布一次,作为当年的正式版本,便是年发布的正式版本。支持情况各大浏览器对的支持情况浏览器支持情况对的支持情况支持情况。在浏览器中基于实现的已经成为的重要组成部分。 精致从细节做起。前端的工作也有一段时间了,大大小小的前端框架都有接触过,越是深入学习越是感觉之前的学习过于粗糙,基础不够扎实,于是准备近期把JavaScript的基础知识点梳理一下,查缺补漏,...

    张巨伟 评论0 收藏0
  • JavaScript高级程序设计学习笔记一(JavaScript简介

    摘要:在上百种语言中算是命好的一个,还有就是最近纳入高考体系的。由以下三个部分构成。就是对实现该标准规定的各个方面内容的语言的描述。是针对但经过扩展的用于的应用程序编程接口。将页面映射为由节点构成的树状结构。 JavaScript的历史这里就不再赘述了,当然JavaScript的历史还是比较有意思的。在上百种语言中JavaScript算是‘命’好的一个,还有就是最近纳入高考体系的python...

    supernavy 评论0 收藏0
  • 【JavaScript】简介

    摘要:诞生于年,它的主要目的是处理以前由服务器端语言负责的一些输入验证操作。的不同版本又称为版次,以第版表示。目前最新的是简称文档对象模型文档对象模型,是针对但经过拓展用于的应用程序接口,。元素当浏览器不支持或被禁用时,显示里面的内容。 JavaScript诞生于1995年,它的主要目的是处理以前由服务器端语言负责的一些输入验证操作。 完整的JavaScript实现由下列三个不同的部分组成:...

    oogh 评论0 收藏0

发表评论

0条评论

lansheng228

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<