【问题标题】:Why was ECMAScript 4th edition completely scrapped?为什么 ECMAScript 第 4 版被彻底废弃?
【发布时间】:2011-01-20 17:42:58
【问题描述】:

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

特别是,我想知道为什么它被完全废弃,取而代之的是 ECMA-262 第 5 版,以及为什么它没有得到改进。其中一些功能非常酷,例如生成器、迭代器、let、新赋值运算符和(我特别喜欢的)解构赋值。

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

顺便说一句,很高兴了解有关此事的一些意见,您是否对看到从第 5 版中删除的某些功能感到恼火,或者您认为这样更好?是否值得玩转 ECMAScript 4 的实现?

【问题讨论】:

    标签: javascript ecma262 ecmascript-4


    【解决方案1】:

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

    为了开发第四版 ECMAScript,我们做了大量工作。尽管这项工作尚未完成,也没有作为 ECMAScript 的第四版发布,但它为该语言的持续发展提供了信息。目前的 ECMAScript 第五版(以 ECMA-262 第 5 版发布)编纂了对语言规范的事实上的解释,这些规范在浏览器实现中已变得普遍,并增加了对自第三版发布以来出现的新功能的支持。

    基本上,关于如何推进 JavaScript 有很多非常强烈的意见,其中许多是不兼容的,其中一些主要是在事情崩溃之前组装成一些人认为的第 4 版(尤其是因为缺乏一些重要实施者的支持)。同时,该标准的新版本已经非常非常迟了,因此经过大量提前谈判,各方于 2008 年 7 月在奥斯陆聚集并商定了一条前进的道路(Brendan Eich [JavaScript 的发明者] 后来称这种方式为“Harmony”写出来时)。

    Harmony 推迟了一些事情,将一些事情彻底搁置(命名空间、包、早期绑定),并且——重要的是——允许委员会推进自 1999 年以来的第一次规范更新:第 5 版。

    【讨论】:

    • +1。感谢您提供邮件列表链接,这是一本很棒的书,看起来它回答了我的很多问题,特别是关于供应商反对对标准进行语法改进的部分。我很高兴看到他们不只是看到未来的实现主要/仅对对象和其他事物进行扩展。
    【解决方案2】:

    如果您有 55 分钟的空闲时间,请观看视频 Douglas Crockford: “The State and Future of ECMAScript”transcript

    【讨论】:

    • 我愿意,但现在不行。我明天去看看 - 谢谢你的链接:-)
    【解决方案3】:

    基本上它正在变成一个厨房水槽,需要实现的功能太多了。

    【讨论】:

      【解决方案4】:

      Coders At Work的采访中有一些讨论,两个被采访者在这个问题上是对立的。

      这似乎归结为在 v4 工作人员与社区中其他一些受人尊敬的成员之间关于该语言应包含的内容的根本分歧。

      (顺便推荐这本书)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-24
        • 2015-03-30
        • 1970-01-01
        • 1970-01-01
        • 2019-10-31
        • 1970-01-01
        • 2018-09-25
        • 2021-12-03
        相关资源
        最近更新 更多