Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java';s Rhino的实现(更新策略是什么?)_Java_Javascript_Programming Languages_Rhino - Fatal编程技术网

Java';s Rhino的实现(更新策略是什么?)

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

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,但我再次未能找到官方来源

以下是原始答案


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年)问题。