号外号外,由 JS 之父与 ES6 首席做者联合出品的前端键政必读书《JavaScript 20 年》,历时半年终于完成了中文翻译的在线版!javascript
本书又名《没人比咱们更懂的 JavaScript》和《TC39 执政回忆录》,详细记载和解读了自 1995 年语言诞生到 2015 年 ES6 规范制定为止,共计 20 年的 JavaScript 演化经历。全书不只讲解了大量语言细节层面的演进,更复盘了更高层面上规范制定与标准博弈中的历史成败,是一部讲述人类如何在商业与技术上的竞争合做中促进产业发展的故事。html
那么,在线版比以前连载的专栏文章多了些什么呢?其实还真很多:前端
通过这些完善,在线版的篇幅已经达到了 25 万字的水平。下面简单分享下这些更新里有趣的料吧:java
相比以前的专栏连载版本,在线版的正文中加入了大量连接,其结构与原文保持了一致。它们能给你一种「很专业」的感受。好比下面这段话:node
TC39 [Herman 2008] 同时也对提供具备精简语义的「lambda 函数」感兴趣,好比支持消栈的尾调用g和 Tennent [1981] 一致性原则99。其支持者们认为,这样的函数将会在实现由语言或库所定义的控制抽象时有所用处。在 Harmony 进程早期,Brendan Eich [2008a] 在
es-discuss
上的一篇讨论贴中, 提出了一个最初由 Allen Wirfs-Brook 所提出的建议,即基于 Smalltalk 块语法的启发,采用一种简洁的 lambda 函数语法。例如{|a,b| a+b}
就至关于 Herman 的lambda(a,b){a+b}
。Eich 的帖子引起了一场大规模但没有结论的线上讨论,话题涉及与(某种可能的)简明函数特性所相关的方方面面。做为关键总结,能够认为其中许多语法的灵感会带来解析或可用性上的问题,并且 JavaScript 的非本地控制转移语句——return
、break
和continue
——会显著地使编写控制抽象的机制变得更加复杂。大多数 TC39 成员和es-discuss
订阅者彷佛主要对简洁的函数语法更感兴趣,而非对 Tennent 一致性感兴趣。git
加入并校正这些连接,主要是件体力活。其要点大概有这么几个:github
这条记载 JavaScript 演化的时间线,对应原文的附录 E,是一份事无巨细的表格,像这样:ajax
这里咱们能够直观地看到,许多影响 JavaScript 和 Web 发展的历史事件是如何交织在一块儿的。好比从上图中咱们就能发现,Brendan Eich 才刚把 demo 级的 JavaScript 原型写出来三个月(1.0 都还没发布),他供职的 Netscape 就高歌猛进地上市了。再好比咱们也能够找到 Chrome V8 发布后,各大主流浏览器花了多少时间跟进这项「性能革命」。数据库
你知道 JavaScript 当年是如何正式发布的吗?咱们搬运回了附录 F 中这份当年 Netscape 和 Sun 联合发布的新闻稿,其中天然不乏亮点:编程
有了 JavaScript,就有可能在 HTML 页面中加入智能的表单。它能够根据用户的输入,在客户端执行贷款支付或货币兑换等计算。而某个用 Java 编写的多媒体天气预报 applet 小应用,也能够经过 JavaScript 脚本,根据某地区当前的天气读数来显示适当的图像和声音。服务端的 JavaScript 脚本能够作到从关系型数据库中提取数据,并飞快地将其格式化为 HTML。在页面中,还可能包含有在客户端和服务器上都可运行的 JavaScript 脚本。在服务器上,脚本能够根据存储在关系型数据库中的用户偏好,来动态地组合与格式化出 HTML 内容;在客户端上,脚本能将各类 Java applet 小应用和 HTML 表格元素粘合在一块儿,造成一个可实时交互的用户界面,以进行全网范围内的信息搜索……
它都预言了些什么呢?这说的不像是今天咱们还在作的表单吗?不像是 Node.js 吗?不像是服务端渲染的 SSR 吗?不像是 JS 控制 Java 原生组件的 RN 吗?你看 Netscape 在 25 年前吹的牛逼,整个社区到了 2020 年的今天,竟然也算把它们给实现得八九不离十(强行)。除此以外,附录资料中还藏着更多的细节,等待着你的发掘。
咱们申请到了 cn.history.js.org 这个漂亮的域名,另外你也能够访问 jshistory-cn 这个 GitHub 项目主页,二者的阅读体验基本是一致的。
在线版使用 GitHub Pages 部署。若是你因为某些缘由没法正常解析域名,在 hosts 中配置
185.199.108.153 cn.history.js.org
便可(这其实是对github.io
的解析问题,参考 GitHub 官方指南)。
另外,因为新增了大量不便于同步的细节格式优化,最先的知乎专栏连载文章将再也不继续维护,它们的文中也已添加了相应的 deprecated warning。
最后,这里还准备了一份目录可供直达:
欢迎阅读与指正!
(题图:原书的两位做者 Brendan Eich 与 Allen Wirfs-Brock,2011 年)
咱们正在与博文视点的 @张春雨 老师积极合做,准备推出本书的纸质版。期待你的关注和支持噢!