第一章:ES?现在与未来

在你一头扎进这本书之前,你应当可以熟练地使用(在本书写作时)最近版本的JavaScript,也就是通常所说的 ES5(技术上讲是ES 5.1)。这里,我们打算好好谈谈即将到来的 ES6,同时放眼未来去看看JS将会如何继续进化。

如果你还在JavaScript上寻找信心,我强烈推荐你首先读一读本系列的其他书目:

  • 入门与进阶:你是编程和JS的新手吗?这就是你在开启学习的旅程前需要查看的路线图。
  • 作用域与闭包:你知道JS的词法作用域是基于编译器(不是解释器!)语义的吗?你能解释闭包是如何成为词法作用域和函数作为值的直接结果的吗?
  • this与对象原型:你能复述this绑定的四个简单规则吗?你有没有曾经在JS中对付着去山寨“类”,而不是采取更简单的“行为委托”设计模式?你听说过 链接到其他对象的对象 (OOLO)吗?
  • 类型与文法:你知道JS中的内建类型吗?更重要的是,你知道如何在类型之间正确且安全地使用强制转换吗?你对JS文法/语法的微妙之处感到有多习惯?
  • 异步与性能:你还在使用回调管理你的异步处理吗?你能解释promise是为什么/如何解决了“回调地狱”的吗?你知道如何使用generator来改进异步代码的易读性吗?到底是什么构成了JS程序和独立操作的成熟优化?

如果你已经读过了这些书目而且对它们涵盖的内容感到十分轻松,那么现在是时候让我们深入JS的进化过程来探索所有即将到来的以及未来会发生的改变了。

与ES5不同,ES6不仅仅是向语言添加的一组不算太多的新API。它包含大量的新的语法形式,其中的一些你可能会花上相当一段时间才能适应。还有几种新的组织形式和为各种数据类型添加的新API。

对这门语言来说ES6十分激进。就算你认为你懂得ES5的JS,ES6也满是 你还不懂的 新东西,所以做好准备!这本书探索所有你需要迅速掌握的ES6主要主题,并且窥见一下那些你应当注意的正在步入正轨的未来特性。

警告: 这本书中的所有代码都假定运行在ES6+的环境中。在写作本书时,浏览器和JS环境(比如Node.js)对ES6的支持相当不同,因此你的感觉可能将会不同。