犀牛书第 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 版全书的构造是:
- 前 8 章讲 JavaScript 的传统外围局部,与第 6 版基本相同。
- 第 9 章至第 14 章讲 ES6 新语法。
- 第 15 章至 17 章讲 JavaScript 次要的利用场景:浏览器和基于 Node 的服务端开发,最初波及 JavaScript 生态和工程化,介绍了一些重要的风行类库。
第 6 版全书整体分成二局部,第一局部是语言外围,第二局部是浏览器内开发,然而第 7 版把所有与浏览器相干的若干章节合并为一章,全书更重视 JavaScript 语言自身。
第 6 版中过期的内容都被删除了,比方 EX4、Rhino、JSONP、XMLHttpRequest、对于 IE 兼容性的探讨。
第 6 版足足 300 页的语言参考和客户端参考在第 7 版中被删除掉了。通过最近 10 年的倒退,JavaScript、HTML、DOM、Web API 都变得比以前要丰盛多了,不可能在一本书中再把这些参考全面列出来了,如果须要参考的话,能够到 MDN 下来看。
最初,渴望中文版或影印版尽快出版,让咱们可能在临睡前手捧经典读上一段,在人不知; 鬼不觉中进入甜甜的梦乡……