犀牛书第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 上去看。
最后,盼望中文版或影印版尽快出版,让我们能够在临睡前手捧经典读上一段,在不知不觉中进入甜甜的梦乡……
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。