1995 Brendan Eich创建Mocha 后改名为LiveScript 最终网景搭上Java顺风车改名为JavaScript
1996 Netscape Navigator 3发布包含JavaScript1.1
1997 JavaScript1.1提交Ecma TC39打造ECMA-262标准 ECMA-262 的第 1 版本质上跟网景的 JavaScript 1.1 相同, 只不过删除了所有浏览器特定的代码,外加少量细微的修改。
1998 ISO和IEC将ECMAScript采纳为标准:ISO/IEC-16262 自此 ECMAScript成为各家浏览器JavaScript实现标准 ECMA-262 第 2 版只是做了一些编校工作,主要是为了更新之后严格符合 ISO/IEC-16262 的要求, 并没有增减或改变任何特性。
1999.12 ECMA-262 第 3 版第一次真正对这个标准进行更新,更新了字符串处理、错误定义和数值输出。 增加了对正则表达式、新的控制语句、try/catch 异常处理的支持,以及为了更好地让标准国际化 所做的少量修改。
2003.06.30 ECMA-262 第 4 版是对这门语言的一次彻底修订。 子委员会的人认为第 4 版对这门语言来说跳跃太大了。因此,他们提出 了一个改动较小的提案,只要在现有 JavaScript 引擎基础上做一些增改就可以实现。 最终被遗弃
2009.12.03 ECMA-262第五版(原ECMAScript 3.1)2011.06发布维护性修订版5.1 新增:原生的解析和序列化JSON数据的JSON对象、方便继承和高级属性定义的方法,以及新的增强 ECMAScript 引擎解释和执行代码能力的严格模式。
2015.06 ECMA-262第六版 俗称ES6、ES2015 正式支持:类、模块、迭代器、生成器、箭头函数、期约、反射。代理和众多新的数据类型。
2016.06 ECMA-262第七版 俗称ES7、ES2016 修订:少量语法层面的 增强,如 Array.prototype.includes 和指数操作符
2017 年 6 月 ECMA-262 第 8 版,也称为 ES8、ES2017 。 主要增加了异步函数(async/ await)、SharedArrayBuffer 及 Atomics API,以及 Object.values()/Object.entries()/Object. getOwnPropertyDescriptors()和字符串填充方法,另外明确支持对象字面量最后的逗号。
2018 年 6 月 ECMA-262 第 9 版,也称为 ES9、ES2018。 修订包括异步迭代、剩余和 扩展属性、一组新的正则表达式特性、Promise finally(),以及模板字面量修订。
2019 年 6 月 ECMA-262 第 10 版,也称为 ES10、ES2019。 修订增加了 Array.prototype. flat()/flatMap()、String.prototype.trimStart()/trimEnd()、Object.fromEntries()方 法,以及 Symbol.prototype.description 属性,明确定义了 Function.prototype.toString() 的返回值并固定了 Array.prototype.sort()的顺序。 另外,这次修订解决了与 JSON 字符串兼容的 问题,并定义了 catch 子句的可选绑定。