博客 / Others/ ECMAScript 发展简史:从 ES3 到现代 JavaScript 的演进之路

ECMAScript 发展简史:从 ES3 到现代 JavaScript 的演进之路

ECMAScript 发展历程概览

ECMAScript(简称 ES)是 JavaScript 语言的标准化规范,其发展历程充满了技术演进与社区协作的故事。以下是其主要版本的发展脉络。

早期版本:奠定基础

  • 1998年6月:ECMAScript 2.0 发布,主要进行编辑性修订。
  • 1999年12月:ECMAScript 3.0 发布。此版本引入了正则表达式、异常处理(try/catch)等核心特性,迅速成为业界广泛支持的通行标准,并在此后近十年间占据主导地位。

ES4 的争议与 Harmony 项目

2007年10月,ECMAScript 4.0 草案发布。它旨在对 ES3 进行大规模、激进的升级,引入了类、模块、类型注解等复杂特性。然而,其过于庞大的设计引发了主要浏览器厂商(如 Yahoo、Microsoft、Google)与以 Brendan Eich(JavaScript 创始人)为首的 Mozilla 之间的严重分歧。

由于无法调和矛盾,2008年7月,ECMA 决定中止 ES4 的开发,并达成了一项名为“Harmony”(和谐)的妥协:

  1. 将其中一部分对现有功能的务实改进,作为 ECMAScript 3.1 发布。
  2. 将其他更激进的设想搁置,留待未来版本讨论。

不久后,ECMAScript 3.1 更名为 ECMAScript 5

ES5 与现代 JavaScript 的黎明

  • 2009年12月:ECMAScript 5.0 正式发布。它带来了严格模式('use strict')、对象属性访问器(getter/setter)、数组迭代方法(如 forEach, map)及 JSON 对象等,极大地增强了语言的功能性和安全性。
  • 2011年6月:ECMAScript 5.1 发布,并成为 ISO 国际标准(ISO/IEC 16262:2011)。

同时,Harmony 项目被拆分:

  • 较为成熟的设想作为 JavaScript.next 继续开发,即后来的 ES6。
  • 尚不成熟的设想则被放入更远的未来(JavaScript.next.next)。

ES6(ES2015)及年度发布周期

为了推动语言更有序地发展,TC39(ECMA 第39号技术专家委员会)引入了新的标准化流程。

  • 2013年3月:ES6 草案功能冻结。
  • 2013年12月:ES6 草案发布,进入反馈期。
  • 2015年6月ECMAScript 2015(ES6) 正式发布。这是一个里程碑式的版本,引入了类(class)、模块(import/export)、箭头函数、Promise、解构赋值、let/const 等革命性特性,标志着 JavaScript 进入现代开发时代。

自 ES2015 起,ECMAScript 采用了年度发布周期,版本号按发布年份命名(如 ES2016、ES2017),这使得新特性能够以更小、更快的节奏进入标准。

TC39 与标准制定

ECMAScript 标准由 TC39 委员会负责制定,其成员包括各大浏览器厂商和科技公司(如 Apple, Google, Microsoft, Mozilla)。任何新提案从雏形到最终标准,都需要经历一个包含多个阶段(Stage 0 到 Stage 4)的公开评审流程,确保了社区广泛的参与和共识。

说明:本文内容已更新至现代语境。当前,ECMAScript 标准保持每年更新,开发者应关注最新的 ES202x 特性。对于历史项目,理解 ES5 和 ES2015 的差异至关重要。

  1. avatar
    真丝睡衣

    我只是很有节操的过来打广告的~~

发表评论

您的邮箱不会公开。必填项已用 * 标注。