ES6 九浅一深 之一

简介html

欢迎来到深度探索 ES6!在这个新的周系列里,咱们将探索 ECMAScript 6。这是一种 JavaScript 语言即将到来的新版本。ES6 包含了不少新的语言功能,且这些语言功能使得 JS 更增强大更富有表现力。在接下来的几周时间里,咱们将会一个一个地了解这些新功能。可是在咱们了解细节的东西以前,咱们值得花一点时间来讨论一下什么是 ES6 以及你指望能获得什么。node

ECMAScript 的范围是什么? JavaScript 编程语言是由 ECMAScript 名下的 ECMA 进行标准化制定的( ECMA 是和 W3C 同样的标准化组织 )。除此以外,ECMAScript 可以下定义:程序员

语法-解析规则,关键字,语句,声明,操做等等。 类型-布尔型,数字,字符串,对象等等。 原型和继承。 内置对象和函数的标准库 - JSON ,数学( Math ), 数组方法( Array methods ),对象内省的方法( Object introspection methods )等等。 其没有定义与 HTML 、CSS 或者 Web API 交互的内容,好比 DOM ( 文档对象模型 )。那些都是在单独的标准中定义的。 ECMAScript 不只在浏览器环境中的涵盖了 JS 的全部方面,其在非浏览器环境中也涵盖了 JS ,例如 node.js 。编程

新的标准 上周, ECMAScript 语言规范的最终草案,第 6 版,被提交给 ECMA 大会进行审查。这意味着什么呢?数组

这意味着这个夏天,对于核心的 JavaScript 编程语言,咱们将有一个新的标准。浏览器

这是一个大新闻。新的 JS 语言不是天天均可能出现的。 上一个版本,ES5,能够追溯到 2009 年。从那时起,ES 标准委员会就一直致力于 ES6 的制定直至今日。编程语言

ES6 是语言的一次重大的升级。同时,你的 JS 代码也能够继续工做。ES6 被设计为能够最大程度兼容现有的代码。事实上,不少浏览器已经支持丰富的 ES6 的功能,同时实现工做也正在进行中。这就意味着你全部的 JS 代码已经能够在那些实现一些 ES6 功能的浏览器里面运行!若是你到如今尚未看到任何兼容性问题,你可能永远也不会碰到这些问题了。函数

计数到 6 ECMAScript 标准的先前的版本分别编号为 1,2,3 和 5。设计

第四版本发生了什么?第 4 版的 ECMAScript 曾是在计划之中的,而且事实上大量的工做也已经完成了。但因为它过于的繁琐,其最终被废弃了。 ( 例如,它在静态类型系统中对泛型和类型推断有一个复杂的选择。)代理

ES4 是有争议的。当标准委员会最终中止继续制定时,该委员会成员赞成出版一个相对温和的 ES5 ,而后继续工做以制定更多的有较大幅度改进的新功能。这个直接经过谈判达成的协议被称为“和谐(Harmony)”,这也是为何 ES5 规范包含这两句话:

ECMAScript 是一个充满活力的语言且其语言的演化还不完整。在将来的 ECMAScript 的版本中将有较大提高的技术的声明。

这种说法也能够被看做是委员会给出的一个承诺。

兑现承诺 ES5 在 2009 年对语言进行了更新,其介绍了 Object.create( ), Object.defineProperty( ), getter 和 setter 方法​​,strict 模式和 JSON 对象。我已经使用了全部的这些功能,并且我喜欢 ES5 对语言作出的贡献。可是, 这些功能中的任何一种都没有对我写 JS 代码的方式产生巨大的影响。对我来讲其最重要的创新,极可能是新的数组方法:.MAP,filter 等等。

然而,ES6 是决然不一样的。它是多年和谐工做的产物。 同时,它是新的语言和库功能的宝库,其是迄今为止 JS 的最实质性的升级。 其新功能涵盖面很广,从那些很受欢迎的能带来便利的功能(如箭头的功能和简单的字符串插值),到能带来头脑风暴的概念(如代理和生成器)。

ES6 将改变你写 JS 代码的方式。

本系列旨在向你展现 ES6 如何经过检查其新功能来给JavaScript程序员提供新的写代码体验。

咱们将以一个典型的“功能缺失”做为开始。“功能缺失”是我在过去的十年的时间内一直渴望能从 JavaScript 那看到的。因此,让咱们一块儿去探索 ES6 迭代器和新的 for-of 循环。

来源:http://wiki.jikexueyuan.com/project/es-six-deeply/an-introduction.html

相关文章
相关标签/搜索