你不懂JS:ES6与未来

第八章:ES6以后

在本书写作的时候,ES6(ECMAScript 2015)的最终草案即将为了ECMA的批准而进行最终的官方投票。但即便是在ES6已经被最终定稿的时候,TC39协会已经在为了ES7/2016和将来的特性进行努力的工作。

正如我们在第一章中讨论过的,预计JS进化的节奏将会从好几年升级一次加速到每年进行一次官方的版本升级(因此采用编年命名法)。这将会彻底改变JS开发者学习与跟上这门语言脚步的方式。

但更重要的是,协会实际上将会一个特性一个特性地进行工作。只要一种特性的规范被定义完成,而且通过在几种浏览器中的实验性实现打通了关节,那么这种特性就会被认为足够稳定并可以开始使用了。我们都被强烈鼓励一旦特性准备好就立即采用它,而不是等待什么官方标准投票。如果你还没学过ES6,现在上船的日子已经过了!

在本书写作时,一个未来特性提案的列表和它们的状态可以在这里看到(https://github.com/tc39/ecma262#current-proposals)。

在所有我们支持的浏览器实现这些新特性之前,转译器和填补是我们如何桥接它们的方法。Babel,Traceur,和其他几种主流转译器已经支持了一些最可能稳定下来的ES6之后的特性。

认识到这一点,是时候看一看它们之中的一些了。让我们开始吧!

警告: 这些特性都处于开发的各种阶段。虽然它们很可能确定下来,而且将与本章的内容看起来相似,但还是要抱着更多质疑的态度看待本章的内容。这一章将会在本书未来的版本中随着这些(和其他的!)特性的确定而演化。

复习

如果这个系列的其他书目实质上提出了这个挑战,“你(可能)不懂JS(不像自己想象的那么懂)”,那么这本书就是在说,“你不再懂JS了”。这本书讲解了在ES6中加入到语言里的一大堆新东西。它是一个新语言特性的精彩集合,也是将永远改进我们JS程序的范例。

但JS不是到ES6就完了!还早得很呢。已经有好几个“ES6之后”的特性处于开发的各个阶段。在这一章中,我们简要地看了一些最有可能很快会被固定在JS中的候选特性。

async function是建立在 generators + promises 模式(见第四章)上的强大语法糖。Object.observe(..)为监听对象变化事件增加了直接原生的支持,它对实现数据绑定至关重要。**指数作符,针对对象属性的...,以及Array#includes(..)都是对现存机制的简单而有用的改进。最后,SIMD将高性能JS的演化带入一个新纪元。

听起来很俗套,但JS的未来是非常光明的!这个系列,以及这本书的挑战,现在是各位读者的职责了。你还在等什么?是时候开始学习和探索了!

results matching ""

    No results matching ""