为什么ECMAScript第4版完全废弃了?

时间:2010-02-24 21:16:51

标签: javascript ecma262 ecmascript-4

我一直在寻找有关报废的ECMAScript第4版的一些信息,但即使在SO上也没有取得多大成功。我知道Mozilla的JavaScript 1.7实现了第4版中提供的许多(全部?)新功能,我想我记得有一篇好的John Resig帖子,但我现在似乎无法在他的博客上找到它。

特别是,我想知道为什么它完全取消了ECMA-262第5版,以及为什么它不仅仅是改进。一些功能非常酷,如生成器,迭代器,let,新赋值运算符和(我特别喜欢的)解构赋值。

我知道所有这些特殊功能只会在具有过时ECMAScript实现的浏览器中引发错误,但是为什么不将它们包含在内,知道有一天这些实现很少而且很远?还有其他原因吗?我们是否可能会看到某些报废功能在未来的版本中重新出现,或者供应商是否害怕破坏兼容性,我们可能永远不会看到标准的这些改进?

顺便说一句,知道一些关于此事的意见会很高兴,你是否因为看到第5版中的一些功能而感到恼火,或者你觉得这样更好?是否值得玩ECMAScript 4的实现?

4 个答案:

答案 0 :(得分:18)

简单地说, 没有ECMAScript第4版。来自5th edition specification

  

为开发第四版ECMAScript做了大量工作。虽然这项工作没有完成,也没有作为ECMAScript的第四版出版,但它通知了该语言的不断发展。目前的第五版ECMAScript(作为ECMA-262第5版出版)编纂了语言规范的事实上的解释,这些解释在浏览器实现中变得很普遍,并且增加了对自第三版出版以来出现的新功能的支持。

基本上,关于如何推动JavaScript向前发展有很多非常强烈的意见,其中许多是不兼容的,其中一些主要是在事情崩溃之前被组装成一些人认为是第4版的东西(尤其是因为缺乏一些重要实施者的支持)。与此同时,该标准的新版本已经非常非常过期,因此经过多次提前谈判后,各方在2008年7月在奥斯陆聚会并达成了一致意见(Brendan Eich [JavaScript的发明者]后来称这种方法“Harmony”在撰写时。“

和谐推迟了一些事情,将一些东西永远地从表中删除(名称空间,包,早期绑定),并且 - 重要的是 - 允许委员会继续推进自1999年以来的第一次规范更新:第5版。

答案 1 :(得分:7)

如果主题有55分钟的备用时间,请参阅视频Douglas Crockford: “The State and Future of ECMAScript”transcript

答案 2 :(得分:2)

基本上它正在变成一个厨房水槽,有太多的功能无法实施。

答案 3 :(得分:1)

Coders At Work的访谈中有一些讨论,其中两位受访者在这个问题的对立面。

对于在v4上工作的人和其他一些备受尊重的社区成员之间的语言应该包含什么,似乎已经达成了根本的分歧。

(顺便说一句,我强烈推荐这本书)