【发布时间】:2011-10-05 19:13:22
【问题描述】:
Java 的 JavaScript 引擎 Rhino 支持哪个版本的 ECMAScript 标准,需要做多少工作来修复错误并使实现与最新的标准化版本保持同步?
【问题讨论】:
标签: java javascript programming-languages rhino
Java 的 JavaScript 引擎 Rhino 支持哪个版本的 ECMAScript 标准,需要做多少工作来修复错误并使实现与最新的标准化版本保持同步?
【问题讨论】:
标签: java javascript programming-languages rhino
这个问题是在 2011 年提出的,JDK(截至 2015 年秋末)根本不再随 Rhino 提供;这个问题提到了 JDK 1.6,尽管 JDK 1.7 是在几周后发布的。
JDK 1.8 60 中的 Nashorn 支持 ES 5.1,可能带有几个 ES2015 扩展;很难从 Oracle 来源中找到明确的兼容性声明。据说,JDK 9 Nashorn 应该“完全支持”ES2015,但我再次未能成功找到官方来源。
以下是原答案。
随附的 JDK(来自 Sun)中的 Rhino 是 1.6R2 版本。这是古老的。估计会在 1.7 版本中更新。
您始终可以从 Mozilla 下载 Rhino 并使用他们的集成工具。我用过 Sun 的,虽然它很简单,但还有很多不足之处。
edit — 至于它是哪个 ECMAScript 标准,嗯,它是 Mozilla 版本,所以他们有自己的修改。但是 1.6R2 太老了,甚至没有像“.forEach()”这样的东西。
【讨论】:
根据 Rhino 版本的发行说明中所写的内容:
看来,Rhino 版本、Mozilla 的 JavaScript 版本和 ECMA Script 版本在范围上有很大的不同。
【讨论】:
来自 Java 12 文档:
https://docs.oracle.com/en/java/javase/12/docs/api/jdk.scripting.nashorn/module-summary.html
Nashorn 100% 符合 ECMA-262 标准 5.1 版
【讨论】:
关于仅与 ES2015/ES6 的兼容性,您可以从 Mozilla 的官方存储库中获得此网页:
【讨论】: