犀牛书第7版(JavaScript: The Definitive Guide, 7th Edition)曾经在3个月前(2020年5月)出版上市。

第6版是2011年出版的,距今曾经9年,大概从那时起,前端岗开始成为一个独立的岗位。

第7版中减少了 ES6 语法、新的 Web API、Node、风行工具库如 Babel 等内容,令人期待。目前这本书还没有在国内出版,那咱们就先通过英文版目录画饼充饥吧。

1). Introduction to JavaScript
第1章,概述。

2). Lexical Structure
第2章,词法构造,与第6版基本相同。
把对 unicode 本义的内容裁减为一个独立大节。

3). Types, Values, and Variables
第3章,类型、值和变量,与第6版基本相同。
减少了 Symbol 数据类型。

4). Expressions and Operators
第4章,表达式和运算符,与第6版基本相同。
减少了双引号(??)和 await 运算符。

5). Statements
第5章,语句,与第6版基本相同。
减少了 yield, const, let, import, export 的内容。

6). Objects
第6章,对象,与第6版基本相同。
减少了扩大运算符(...)的内容。

7). Arrays
第7章,数组,与第6版基本相同。
减少了 Array.from()、flat()、flatMap()、copyWithin() 的内容。

8). Fucntions
第8章,函数,与第6版基本相同。
减少了箭头函数、参数缺省值、rest 参数的内容。

9). Classes
第9章,类,第6版的“第9章-类和模块”被拆成了2章别离解说。
减少了 class 关键字及相干的内容。

10). Modules
第10章,模块。
在第6版时还没有内建的模块语法,所以在第6版第9章用一个大节讲到了模块。第7版进行了大幅裁减,别离解说了 Node 下的模块和 ES6 的模块。

11). The JavaScript Standard Library
第11章,JavaScript 规范库,这一章是全新的。
后面10章解说的是 JavaScript 语言外围,这一章解说语言集成的库和 API。内容包含 Set、Map、ArrayBuffer、正则匹配、日期工夫类、Error 类、JSON 类、国际化 API、console API、URL API、计时器。
第6版“第10章-正则表达式的模式匹配”的内容成为了本章的一个大节。

12). Iterators and Generators
第12章,迭代器和生成器,这一章是全新的。

13). Asynchronous JavaScript
第13章,异步 JavaScript,这一章是全新的。
内容包含 callback 模式、Promise、async 和 await 等内容。

14). Metaprogramming
第14章,元编程,这一章是全新的。
内容包含 Proxy、Reflect 对象。

15). JavaScript in Web Browsers
第15章,Web 浏览器中的 JavaScript。
这可能是全书最长的一章,它涵盖了第6版简直整个“第二局部-客户端 JavaScript”的全部内容,包含第6版的“第13章-Web浏览器中的JavaScript”、“第14章-Window对象”、“第15章-脚本化文档”、“第16章-脚本化CSS”、“第17章-事件处理”、“第18章-脚本化 HTTP”、“第20章-客户端存储”、“第21章-多媒体与图形编程”、“第22章 HTML5 API”。
除了这些,还减少了 Web 组件、Worker 的内容,最初还有一个在页面上绘制曼德博汇合的实例。

16). Server-Side JavaScript with Node
第16章,基于 Node 的服务端 JavaScript,第6版的“第12章-服务器端JavaSript”中有一节讲到 Node,第7版裁减为一章。

17). JavaScript Tools and Extensions
第17章,JavaScript 工具和扩大,这一章是全新的。
解说一些工程化工具,如 ESLint、Jest、npm、Babel、Flow。

总体上,第7版全书的构造是:

  1. 前8章讲 JavaScript 的传统外围局部,与第6版基本相同。
  2. 第9章至第14章讲 ES6 新语法。
  3. 第15章至17章讲 JavaScript 次要的利用场景:浏览器和基于 Node 的服务端开发,最初波及 JavaScript 生态和工程化,介绍了一些重要的风行类库。

第6版全书整体分成二局部,第一局部是语言外围,第二局部是浏览器内开发,然而第7版把所有与浏览器相干的若干章节合并为一章,全书更重视 JavaScript 语言自身。

第6版中过期的内容都被删除了,比方 EX4、Rhino、JSONP、XMLHttpRequest、对于 IE 兼容性的探讨。

第6版足足300页的语言参考和客户端参考在第7版中被删除掉了。通过最近 10 年的倒退,JavaScript、HTML、DOM、Web API 都变得比以前要丰盛多了,不可能在一本书中再把这些参考全面列出来了,如果须要参考的话,能够到 MDN 下来看。

最初,渴望中文版或影印版尽快出版,让咱们可能在临睡前手捧经典读上一段,在人不知;鬼不觉中进入甜甜的梦乡……