Skip to content

ECMAScript 语法简介-文档-资源

ECMAScript 语法简介

ECMA(European Computer Manufacturers Association)中文名称为欧洲计算机制造商协会,这个组织的目标是评估、开发和认可电信和计算机标准。1994 年后该组织改名为 Ecma 国际。

最初 JavaScript 语言有 2 份标准:

ECMA-262:主标准,由 ECMA 国际组织(Ecma International)负责管理(为了让最初的JavaScript 与最初的 JScript 能遵循同一套标准发展而诞生的 ECMAScript ,正好排到了作为 Ecma262 号标准,所以得到 ECMA-262 编号。)

ISO/IEC 16262:第二标准,由国际标准化组织 ISOInternational Standard Organization)和国际电子技术委员会 IECInternational Electrotechnical Commission)负责管理

出于商标版权的原因,规范标准中将这门语言称为 ECMAScript ,所以原则上 JavaScriptECMAScript 指的是同一个东西,但有时也会加以区分:

  • JavaScript:指语言及其实现
  • ECMAScript:指语言标准及语言版本,比如 ES6 表示语言(标准)的第 6 版

1.什么是 ECMAScript

  • ECMAScript 是由 Ecma 国际通过 ECMA-262 标准化的脚本程序设计语言。

2.什么是 ECMA-262

Ecma 国际制定了许多标准,而 ECMA-262 只是其中的一个,所有标准列表查看

ECMAScript 规范

ECMAScript 规范每年都会更新一次,正式标准化 JavaScript 语言的 ECMAScript 的下一次年度更新将在 2023 年 6 月左右获得批准,这将是 ECMAScript 的第 14 版。所有在 2023 年 3 月之前达到阶段 4 的提案都将包含在 ECMAScript 2023 标准中。 对于一个提案,从提出到最后被纳入 ECMAScript 标准,总共分为五步:

  • stage0(strawman):任何 TC39 的成员都可以提交。
  • stage1(proposal):进入此阶段就意味着这一提案被认为是正式的了,需要对此提案的场景与 API 进行详尽的描述。
  • stage2(draft):演进到这一阶段的提案如果能最终进入到标准,那么在之后的阶段都不会有太大的变化,因为理论上只接受增量修改。
  • state3(candidate):这一阶段的提案只有在遇到了重大问题才会修改,规范文档需要被全面的完成。
  • state4(finished):这一阶段的提案将会被纳入到 ES 每年发布的规范之中。

3.ECMA-262 历史

3.1 ECMA-262(ECMAScript)历史版本查看网址

3.2 ECMASript 语法提案库

3.3 ECMASript 标准文档

注:从 ES6 开始,每年的 6 月份发布一个版本,版本号比年号最后一位大 1

4.谁在维护 ECMA-262

TC39(Technical Committee 39)是推进 ECMAScript 发展的委员会。其会员都是公司(其中主要是浏览器厂商,有苹果、谷歌、微软、因特尔等)。TC39 定期召开会议,会议由会员公司的代表与特邀专家出席

标准组织 TC39

ECMAScript 发展历史

  • ECMAScript 1(1997 年 6 月):规范第一版
  • ECMAScript 2(1998 年 6 月):为了同步 ISO 标准,引入了一些小更新
  • ECMAScript 3(1999 年 12 月):增加了正则表达式、字符串处理、控制语句(do-while、switch)、异常处理(try-catch)等众多核心特性
  • ECMAScript 4(2008 年 7 月废除):本来是一次大规模升级(静态类型、模块、命名空间等),但跨度过大,出现了分歧,最终没能推广使用
  • ECMAScript 5(2009 年 12 月):变化不大,加了一些标准库特性和严格模式
  • ECMAScript-5.1(2011 年 6 月):又一次小更新,为了同步 ISO 标准
  • ECMAScript 6(2015 年 6 月):一大波更新,实现了当年 ES4 的许多设想,并正式改为按年份命名规范版本
  • ECMAScript 2016(2016 年 6 月):第一个年度版本,与 ES6 相比,发布周期较短,新特性也相对少些
  • ECMAScript 2017(2017 年 6 月):第二个年度版本...

以后的 ECMAScript 版本(ES2018、ES2019、ES2020 等)都在 6 月正式获准生效

书籍文档相关

推荐阮一峰的《ES6 标准入门》:https://es6.ruanyifeng.com/

《JavaScript 高级教程(第 4 版)》[红宝石书]

《JavaScript 权威指南》[犀牛书]

资源

ECMA-262,ECMAScript 的语法标准(语法草案和版本相关):https://www.ecma-international.org/publications-and-standards/standards/ecma-262/

MDN 语法查询

https://developer.mozilla.org/zh-CN/

Released under the MIT License.