JavaScript 新书:探索 ES2016 与 ES2017

探索 ES2016 与 ES2017 Exploring ES2016 and ES2017

一本关于 ECMAScript 2016 和 ECMAScript 2017 新版本的 JavaScript 书。

本书目录

继续阅读

关于 《探索 ES2016 与 ES2017》

本书是关于 ECMAScript 2016 和 ECMAScript 2017 新版本的 JavaScript 。

本书只涵盖这两个新版本中的新特性。 有关以前版本的信息,请参考我的以下书籍(可以在线阅读):

  • 写给程序员的 Javascript 入门(涵盖 ES5 内容):“Speaking JavaScript
  • ECMAScript 6 (ES2015) 新特性介绍:“探索 ES6

本书的内容

“探索 ES2016 与 ES2017”是一本“活”的书,许多多内容即将被加入! 购买此书,你将得知 ECMAScript 2016 和 ECMAScript 2017 的最新特性:

  • ES2016 已经完成,这本书介绍了其内容,内容不多。
  • ES2017 现已完成。主要的新特性包括:

TC39 处理 ECMAScript 新特性的工作流程

本章解释了所谓 TC39 的工作流程,它以 ECMAScript 2016(ES7)为起点,阐述了ECMAScript特性的设计。

谁设计了 ECMAScript ?

答案是:TC39(技术委员会39)。

TC39,是一个推动 JavaScript 发展的技术委员会。其成员是公司(其中包括所有主要浏览器厂商)。TC39 定期举行会议,其会议是由成员公司派代表和特邀专家出席。会议纪要可在线获取,以便于我们更好的了解 TC39 工作流程。

偶尔(甚至在这本书中),你会看到 TC39 成员指的是某一个人。 它的意思是:由 TC39 成员公司派出的代表。

有趣的是,TC39 以协商一致方式运作:决定要求大多数人同意,没有人强烈反对以致否决。 对于许多成员来说,一致通过的决议将会产生真正的义务(他们将必须实现这些达成一致的功能等)。 继续阅读

ES2017 新特性:Async Functions (异步函数)

本章介绍 Brian Terlson 提议的 ECMAScript 2017 新特性 Async Functions(异步函数)

概述

async(异步) 函数变体

以下是已经存在的异步函数变体。请注意无处不在的 async 关键字。

  • 异步函数声明: async function foo() {}
  • 异步函数表达式: const foo = async function () {};
  • 异步函数定义:let obj = { async foo() {} }
  • 异步箭头函数: const foo = async () => {};

async(异步) 函数总是返回 Promises

async(异步) 函数的 Promise 完成状态:

async function asyncFunc() {
    return 123;
}

asyncFunc()
.then(x => console.log(x));
    // 123

async(异步) 函数的 Promise 拒绝状态: 继续阅读