Java';s Rhino的实现(更新策略是什么?)
Java的JavaScript引擎Rhino支持哪一版本的ECMAScript标准,在修复bug和保持实现与最新标准化版本同步方面需要做多少工作?注意:这个问题已经过时,没有用处。 这个问题是在2011年提出的,JDK(截至2015年秋末)已不再搭载Rhino;问题涉及JDK1.6,尽管JDK1.7在几周后发布 JDK 1.8 60中的Nashorn支持ES 5.1,可能有几个ES2015扩展;很难从Oracle源代码中找到明确的兼容性声明。据推测,JDK 9 Nashorn应该“完全支持”ES2015,但我再次未能找到官方来源 以下是原始答案Java';s Rhino的实现(更新策略是什么?),java,javascript,programming-languages,rhino,Java,Javascript,Programming Languages,Rhino,Java的JavaScript引擎Rhino支持哪一版本的ECMAScript标准,在修复bug和保持实现与最新标准化版本同步方面需要做多少工作?注意:这个问题已经过时,没有用处。 这个问题是在2011年提出的,JDK(截至2015年秋末)已不再搭载Rhino;问题涉及JDK1.6,尽管JDK1.7在几周后发布 JDK 1.8 60中的Nashorn支持ES 5.1,可能有几个ES2015扩展;很难从Oracle源代码中找到明确的兼容性声明。据推测,JDK 9 Nashorn应该“完全支持”ES
JDK中的Rhino(来自Sun)是1.6R2版本。它很古老。据推测,它将在1.7版本中更新 您可以从Mozilla下载Rhino并使用他们的集成工具。我用过Sun one,虽然它非常简单,但仍有很多需要改进的地方
编辑-至于ECMAScript是哪种标准,它是Mozilla版本,所以他们有自己的修改。但是,1.6R2太旧了,它甚至没有“.forEach()”之类的内容,正如Rhino版本的发行说明中所述:
- Rhino 1.5-JavaScript 1.5/ECMA脚本3
- Rhino 1.6R2—与Java6-JavaScript1.5、ECMAScript for XML(E4X,JavaScript1.6的一部分)捆绑在一起
- Rhino 1.6R6-支持剩余的JavaScript 1.5(严格)
- Rhino 1.7R1-JavaScript 1.7的新特性:生成器、迭代器、数组理解、let表达式和解构赋值
- Rhino 1.7R3-与Java7-JavaScript1.7、部分JavaScript1.8和ECMAScript5捆绑在一起,严格模式除外
- Rhino 1.7R4-JavaScript 1.7是默认值,ES5合规性修复,JavaScript 1.8生成器表达式
- Rhino 1.7R5-
- Rhino 1.7.6-Array.find(),@不推荐的注释,JavaScript 1.8字符串
- Rhino 1.7.7-对ECMA脚本6、ES6数学、数字和字符串类的初始支持
- Rhino 1.7.7.1-修复
Rhino版本、Mozilla的JavaScript版本和ECMA脚本版本在范围上似乎有很大不同。来自Java 12文档:
Nashorn 100%符合ECMA-262标准5.1版关于仅与ES2015/ES6的兼容性,您可以从Mozilla的官方存储库获得以下网页:
我不同意这个问题没有用。尽管大多数人都在迁移到Java7或Java8或更高版本,但有些人在这样做时没有将JS代码更新到Nashorn,不管出于什么原因。换句话说,他们在Java8JVM中使用Rhino1.7.7.1。因此,这个问题仍然是相关的。@Chee,我很欣赏这个想法:)但这仍然是一个相当古老的(2011年)问题。