最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Which JavaScript (ECMAScript) version does Java's Rhino implementation implement (and what's the update policy?)

programmeradmin15浏览0评论

Which version of the ECMAScript standard does Java's JavaScript engine Rhino support, how much work is going into fixing bugs and keeping the implementation in sync with the latest standardized version?

Which version of the ECMAScript standard does Java's JavaScript engine Rhino support, how much work is going into fixing bugs and keeping the implementation in sync with the latest standardized version?

Share Improve this question edited Jan 26, 2015 at 1:51 Bergi 665k161 gold badges1k silver badges1.5k bronze badges asked Jul 15, 2011 at 0:26 socsoc 28.4k20 gold badges114 silver badges220 bronze badges
Add a comment  | 

4 Answers 4

Reset to default 10

From what is written in the release notes of the versions of Rhino:

  • Rhino 1.5 - JavaScript 1.5/ ECMA Script 3.
  • Rhino 1.6R2 - bundled with Java 6 - JavaScript 1.5, ECMAScript for XML (E4X, part of JavaScript 1.6).
  • Rhino 1.6R6 - support for the remaining JavaScript 1.5 (strict).
  • Rhino 1.7R1 - JavaScript 1.7 new features: generators, iterators, array comprehensions, let expressions, and destructuring assignment.
  • Rhino 1.7R3 - bundled with Java 7 - JavaScript 1.7, partial JavaScript 1.8 and ECMAScript 5 except for strict mode.
  • Rhino 1.7R4 - JavaScript 1.7 is default, ES5 compliance fixes, JavaScript 1.8 generator expressions.
  • Rhino 1.7R5 -
  • Rhino 1.7.6 - Array.find(), @Deprecated annotation, JavaScript 1.8 String.
  • Rhino 1.7.7 - Initial support for ECMA Script 6, ES6 Math, Number and String class.
  • Rhino 1.7.7.1 - fixes

It seems that Rhino versions, Mozilla's JavaScript versions and ECMA Script versions are very different in scope.

Note: this question is far out of date and not useful.

The question was asked in 2011, and the JDK (as of late fall 2015) no longer ships with Rhino at all; the question referred to JDK 1.6, though JDK 1.7 was released a couple weeks afterwards.

Nashorn in JDK 1.8 60 supports ES 5.1, possibly with a couple of ES2015 extensions; it's hard to find an explicit compatibility claim from Oracle sources. Supposedly, JDK 9 Nashorn is supposed to "fully support" ES2015, but again I've been unsuccessful locating official sources.

edit — note that even Nashorn is going to be unsupported soon; JDK 13? 14? Something like that.

Below is the original answer.


Rhino in the shipped JDK (from Sun) is version 1.6R2. It's ancient. Supposedly it's going to be updated in the 1.7 release.

You can always download Rhino from Mozilla and use their integration facility. I've used the Sun one, and while it's dirt simple it leaves a lot to be desired.

edit — as to which ECMAScript standard it is, well, it's a Mozilla release so they've got their own modifications. However 1.6R2 is so old that it doesn't even have things like ".forEach()".

About the compatilibity with ES2015/ES6 only, you have this webpage from the Mozilla's official repository :

https://mozilla.github.io/rhino/compat/engines.html

From Java 12 documentation:

https://docs.oracle.com/en/java/javase/12/docs/api/jdk.scripting.nashorn/module-summary.html

Nashorn is 100% compliant with the ECMA-262 Standard, Edition 5.1

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论