什么是ES规范

ES规范,或者说 ECMAScript规范, Standard ECMAScript-262.

很多人了解到 ECMAScript,是从书了解到,比如 书籍《JavaScript高级程序设计》第一章就提到:

ECMAScript,即ECMA-262定义的语言,并不局限于Web浏览器。事实上,这门语言没有输入和输出之类的方法。ECMA-262将这门语言作为一个基准来定义,以便在它之上再构建更稳健的脚本语言。Web浏览器只是ECMAScript实现可能存在的一种宿主环境(hostenvironment)。宿主环境提供ECMAScript的基准实现和与环境自身交互必需的扩展。扩展(比如DOM)使用ECMAScript核心类型和语法,提供特定于环境的额外功能。其他宿主环境还有服务器端JavaScript平台Node.js和即将被淘汰的AdobeFlash。 [美]马特•弗里斯比.JavaScript高级程序设计(第4版)(Kindle位置594-598).人民邮电出版社.

进一步也讲到了 ECMAScript 的版本历史、新增特性。

如果进一步了解技术细节,可以访问 Standard ECMA-262 (ecma-international.org) 或者 https://tc39.es/ecma262/,截止 2021-1-13,当前的版本是 ES2020,后续也会不断更新。

如果下载PDF可以看到数据量特别大:860页的纯英文,看了想吐。即便缩放打印也是厚厚一沓,如果是 缩放50%双面打印,也需要860/2/2 = 215页纸。读起来可能出力不讨好。如果是最新的es2021Draft已经飙升到1100页了。

1f29d00b072f3b1aa72d1ebdc9bbe50a.jpg

当然还是能读的:某些章节有人已经翻译好了、有的章节其实可以跳过。又不考试不必要每行都搞懂。

那么除了拿着电子词典硬啃以外,还有其他省事的途径吗?有,接着看。

中文

已经有部分章节翻译为中文,中文 https://ecma262.docschina.org/,虽然版本稍微有些落后,但是只影响新增内容,阅读不妨碍。

Standard ECMA-262 9th Edition / July 2019 ECMAScript® 2018 Language Specification

反正也就读前几章,和网红章节。

辅助阅读

已经有人写了一篇文章 《How to Read the ECMAScript Specification》,然后 李松峰已经翻译了 [译]如何阅读ECMAScript规范,虽然不是很全,但可以机翻

V8团队也有一系列文章 比如 《https://v8.dev/blog/understanding-ecmascript-part-1》李松峰也翻译好了《 [译]理解ECMAScript规范(1)》,也包含了后续的 1234