ES6是什么

ES6 从开始制定到最后发布,整整用了 15 年。
前面提到, ECMAScript 1.0 是 1997 年发布的,接下来的两年,连续发布了 ECMAScript 2.0
( 1998 年 6 月)和 ECMAScript 3.0 ( 1999 年 12 月)。 3.0 版是一个巨大的成功,在业界得到
广泛支持,成为通行标准,奠定了 JavaScript 语言的基本语法,以后的版本完全继承。直到今
天,初学者一开始学习 JavaScript ,其实就是在学 3.0 版的语法。
2000 年, ECMAScript 4.0 开始酝酿。这个版本最后没有通过,但是它的大部分内容被 ES6 继
承了。因此, ES6 制定的起点其实是 2000 年。 为什么 ES4 没有通过呢?因为这个版本太激进了,对 ES3 做了彻底升级,导致标准委员会的
一些成员不愿意接受。 ECMA 的第 39 号技术专家委员会( Technical Committee 39 ,简称
TC39 )负责制订 ECMAScript 标准,成员包括 Microsoft 、 Mozilla 、 Google 等大公司。
2007 年 10 月, ECMAScript 4.0 版草案发布,本来预计次年 8 月发布正式版本。但是,各方对
于是否通过这个标准,发生了严重分歧。以 Yahoo 、 Microsoft 、 Google 为首的大公司,反对
JavaScript 的大幅升级,主张小幅改动;以 JavaScript 创造者 Brendan Eich 为首的 Mozilla 公司,
则坚持当前的草案。
2008 年 7 月,由于对于下一个版本应该包括哪些功能,各方分歧太大,争论过于激烈,
ECMA 开会决定,中止 ECMAScript 4.0 的开发,将其中涉及现有功能改善的一小部分,发布
为 ECMAScript 3.1 ,而将其他激进的设想扩大范围,放入以后的版本,由于会议的气氛,该
版本的项目代号起名为 Harmony (和谐)。会后不久, ECMAScript 3.1 就改名为 ECMAScript
5 。
2009 年 12 月, ECMAScript 5.0 版正式发布。 Harmony 项目则一分为二,一些较为可行的设想
定名为 JavaScript.next 继续开发,后来演变成 ECMAScript 6 ;一些不是很成熟的设想,则被视
为 JavaScript.next.next ,在更远的将来再考虑推出。 TC39 委员会的总体考虑是, ES5 与 ES3 基
本保持兼容,较大的语法修正和新功能加入,将由 JavaScript.next 完成。当时, JavaScript.next
指的是 ES6 ,第六版发布以后,就指 ES7 。 TC39 的判断是, ES5 会在 2013 年的年中成为
JavaScript 开发的主流标准,并在此后五年中一直保持这个位置。
2011 年 6 月, ECMAScript 5.1 版发布,并且成为 ISO 国际标准( ISO/IEC 16262:2011 )。
2013 年 3 月, ECMAScript 6 草案冻结,不再添加新功能。新的功能设想将被放到
ECMAScript 7 。
2013 年 12 月, ECMAScript 6 草案发布。然后是 12 个月的讨论期,听取各方反馈。
2015 年 6 月, ECMAScript 6 正式通过,成为国际标准。从 2000 年算起,这时已经过去了 15
年。

相关推荐
lpfasd1237 小时前
node-sass 停止维护!老项目迁移 Dart Sass 完整教程
前端·rust·sass
Data analyse4569 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
xiaogai_gai9 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
环境栈笔记10 小时前
指纹浏览器 WebRTC 怎么设置?从 ICE 候选、代理出口到功能验证
前端·人工智能·后端·自动化
赵大仁11 小时前
官网性能优化实战:LCP 3.2s → 2.1s、CLS 0.107 → 0,以及被我推翻的 6 个判断
前端·性能优化·cls·lcp·core web vitals
xiancai_xianyu11 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
小羊没烦恼!11 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html
史瓦辛格11 小时前
给 DeepSeek Harness 写费用插件:把「这次会话花了多少钱」算准
前端·deepseek
星光不问赶路人11 小时前
Vue 3 + TypeScript 中 enum 的使用实践
前端·vue.js
鸥梨菌Honevid11 小时前
UVM 中 REQ 和 RSP 类型详解:从通信模型到 item_done 与 put_response
java·前端·servlet