ECMAScript Harmony:JavaScript的新生活

定义Web的核心标准已经一生一世。 首先,W3C放弃了对XHTML的专心致志,重新开始了HTML的开发,并将WHAT-WG的HTML 5草案的工作作为一个新的起点。 现在,在7月底在奥斯陆举行的一次会议上,负责JavaScript语言的由来已久的标准机构已通过妥协找到了新的统一。

描述JavaScript的标准称为ECMAScript(因为“ JavaScript”是Sun Microsystems拥有的商标)。 ECMAScript的最新完整更新版本ECMA-262第三版于1999年发布。自发布以来的八年中,JavaScript作为Web标准的进展几乎没有动摇。

那时ECMAScript缺少更改的原因并不是该语言的成熟。 ECMA-262第3版具有公认的问题,现实世界的浏览器已经解决了很多年,因此第4版的需求量很大。 在没有人的情况下,浏览器制造商不得不对彼此的实现进行反向工程,以便决定如何处理规范中的漏洞-对于所有相关人员来说,这几乎是最坏的情况。

TC39中的拆分

ECMA技术委员会39(TC39,负责制定ECMAScript标准的委员会)在此期间肯定没有闲着。 关于ECMA-262第4版应具有的功能的讨论几乎是不间断的,但达成的共识难以捉摸。

在TC39中,来自Mozilla,Adobe,Opera和Google的代表希望对语言进行重大改进,并在第三版发布后不久开始汇编一系列新功能。 这些年来,其中许多功能(例如名称空间,生成器,可选的静态类型以及getter / setter)已添加到ECMAScript的实际实现中(例如,Flash / Flex中的ActionScript 3 ,Firefox中的JavaScript 1.71.8 )。

但是,并非TC39中的每个人都赞成这种变化。 一年多以前,微软和雅虎的代表! 委员会内部表示,他们认为对语言进行相对较小的更新以解决在第三版中变得明显的问题更为合适。 他们指出,例如,如果有人尝试在浏览器中实现这些功能,则在ActionScript 3中实现的包,名称空间和早期绑定等功能将带来性能挑战。

委员会内部的这种分裂导致形成了两个小组,每个小组都有自己的草案:寻求添加主要功能的小组将其草案称为“ ECMAScript 4.0”,而更为保守的小组将其草案称为“ ECMAScript 3.1”。 但是只能有一个ECMA-262第4版,因此,只要两个小组并行工作,ECMAScript的未来仍将是未知的。

上个月在奥斯陆发生的所有变化。 请在下面继续阅读,以了解发生了什么。

奥斯陆会议上的和谐

原定于7月底在奥斯陆举行的TC39分裂会议的定期聚会对委员会来说是一个巨大的转折点,并且-我们有充分的理由希望-JavaScript语言本身。

TC39的成员一致认为,分开的委员会对任何人都没有好处,并且达成了一项协议,该协议将允许继续工作,以ECMA-262第四版(名称为“ ECMAScript 3.1”)的统一草案进行工作。 为了反映这种差异所代表的历史性解决,这项工作被称为ECMAScript Harmony

在“和谐”下,辩论的各个方面都做出了关键让步:

  • “ ECMAScript 4.0”小组承认, 程序包,名称空间和早期绑定都是不适合Web的功能。 他们被永久排除在任何将来版本的ECMA-262标准中。
  • “ ECMAScript 3.1”小组承认, 针对ECMAScript 4.0提出的某些功能确实具有优点 ,因此将对其进行重新设计,使其包含在发行版中以遵循ECMAScript 3.1。 随后的发行被称为“ ES和谐”。

展望未来,委员会希望能够在2009年上半年交付ECMA-262第四版 ,并至少有两种实际应用(即四种主要浏览器中的两种)在野外。 不会向此版本中添加至少四个主要浏览器中的三个尚不存在的新功能(例如将使用getter和setter进行添加)。

可以在Ajaxian阅读 Mozilla的Brendan Eich的官方声明,而其他JavaScript著名人物(如John ResigDouglas CrockfordMike ChambersAlex Russell)的反应也值得一读(具有不同程度的技术细节)。 另外,新发布的Open Web Podcast的 第2集将许多人聚集在一起,讨论了方向的变化。

什么意思

除了模糊的功能外,这里的基本要点是TC39已经实现了去年W3C在HTML方面被迫实现的目标: 编写标准并希望浏览器能够遵循是行不通的。 无论W3C对XHTML2的建议在纸上看起来多么出色,都不会迫使微软在Internet Explorer中对其进行支持。 使用HTML 5,W3C允许浏览器尝试新的想法,并从好的东西中建立标准。

同样,TC39的成员可以将世界上的所有功能添加到ECMAScript 4.0中,但是要确定某个功能是否可以在Web上运行,唯一的方法是首先将其构建到实际的浏览器中。 然后,您可以决定是否将其纳入标准。

现在,要解决一个显而易见的问题:CSS是下一个吗? 我将在接下来的几周内密切关注W3C的CSS工作组

From: https://www.sitepoint.com/ecmascript-harmony-new-life-for-javascript/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值