Rhino で JavaScript を実行するには、スクリプトの実行コンテキストを作成する必要があります。Context クラスのコンストラクターはJavaScript 準拠レベルを使用しますVERSION_DEFAULT.
protected Context(ContextFactory factory) {
if(factory == null) {
throw new IllegalArgumentException("factory == null");
}
this.factory = factory;
**setLanguageVersion(VERSION_DEFAULT);**
optimizationLevel = codegenClass != null ? 0 : -1;
maximumInterpreterStackDepth = Integer.MAX_VALUE;
}
VERSION_DEFAULT
APIの実際の定数へのマッピングが見つからないため、VERSION_XXX
どの JavaScript コンプライアンス レベル VERSION_DEFAULT が正しいのか疑問に思っています。Rhino 1.7R1 のリリース ノート (*ttps://developer.mozilla.org/en/New_in_Rhino_1.7R1) には、JavaScript のバージョンを明示的に指定する必要があると記載されていますが、Context.setLanguageVersion()
を省略した場合に使用されるバージョンについては言及されていません。