本文为《人人都能读标准》—— ECMAScript篇的第2篇。我在这个仓库中系统地介绍了标准的阅读规则以及使用方式,并深入剖析了标准对JavaScript核心原理的描述。
打开ECMAScript2023,你将看到下图的这个界面,这就是我们通向卓越工程师的入口:
在这个界面中,左侧是标准的目录,以及一个基于标准的检索框,右侧是标准的文本。
在刚开始阅读标准的时候,你可能会感到迷茫,不知道从哪里入手,也不知道怎样提高阅读的效率,就像进了一个面积很大的游乐场却没有地图一样。
本节,我将为你提供这样一张“地图”。我会先对标准的内容进行一次概览,让你知道标准的每个部分都在讲些什么东西,以及这些部分对应了这本书的哪些章节;然后我会根据个人经验,给你提供一些阅读标准的建议,希望这能帮助你提升阅读的效率。
标准概览
总的来说,ECMAScript标准主要讲了4个事情:文法、算法、执行环境以及标准库。
标准目前一共有29个章节,整体的内容架构如下表所示:
章节 | 内容 |
---|---|
第1~4章 | 介绍标准。 |
第5章 | 定义整个标准使用的表示法约定。 |
第6~10章 | 定义执行环境的各个部分。 |
第11~17章 | 定义语言的文法和语义。 |
第18~28章 | 定义了语言的标准库。 |
第29章 | 定义了与sharedArrayBuffer相关的内存模型。 |
附录 | 补充内容。 |
第1~4章:介绍
前面4章主要是介绍性的内容:包括ECMAScript的简史、语言特点、标准的大纲、术语定义等等。
我在介绍篇对这些介绍性内容作了许多有意义的扩展。
在2.标准的迭代中,我使用一个实际的例子给你展示标准是如何进行迭代的,并基于此总结出标准的发展历史。
在3.宿主环境中,我使用许多具体的例子向你展示ECMAScript是如何与外部宿主环境(如浏览器、Node.js)协作的。从这些例子你可以清晰地看到,JavaScript的哪些部分由ECMAScript标准负责,哪些部分由其他的规范(如HTML标准)负责。
第5章:表示法约定
在前言中,我使用了一个更加通熟易懂的词 —— 符号系统,来指代表示法约定(Notational Conventions) 。表示法约定主要分为两大部分:
它们是读懂标准的基础,也是把大多数人拒之门外的障碍。
本书,我在4.文法基础讲解了文法表示法约定,在6.算法讲解了算法表示法约定。