オプション

GraalVMでのJavaScriptの実行は、いくつかのオプションを使用して構成できます。

GraalVM JavaScriptランチャのオプション

これらのオプションは、jsランチャの動作を制御するためのものです:

GraalVM JavaScriptエンジンのオプション

これらのオプションは、GraalVM JavaScriptエンジンの動作を構成するためのものです。これらのオプションは、エンジンの起動方法に応じて、ランチャに渡すか、プログラムを使用して渡します。

これらのオプションのほとんどは試験段階であり、--experimental-optionsフラグが必要です。

ランチャに渡す場合

ランチャには、--js.<option-name>=<value>を使用してオプションを渡します:

js --js.ecmascript-version=6

現在使用可能なオプションは次のとおりです:

プログラムを使用する場合

GraalVMのポリグロット機能を介してJavaから起動する場合、オプションはプログラムによってContextオブジェクトに渡されます:

Context context = Context.newBuilder("js")
                         .option("js.ecmascript-version", "6")
                         .build();
context.eval("js", "42");

プログラムでオプションを設定する方法の詳細は、「ポリグロット・プログラミング」リファレンスを参照してください。

安定オプションと試験段階のオプション

使用可能なオプションは、安定オプションと試験段階のオプションに区別されます。試験段階のオプションを使用する場合は、事前に特別なフラグを指定する必要があります。

ネイティブ・ランチャ(jsおよびnode)では、すべての試験段階のオプションを使用する前に--experimental-optionsを渡す必要があります。Contextを使用する場合は、Context.BuilderでオプションallowExperimentalOptions(true)をコールする必要があります。ScriptEngineでの試験段階のオプションの使用方法は、「ScriptEngine実装」を参照してください。

ECMAScriptバージョン

このオプションは、ECMAScript仕様の特定のバージョンとの互換性を確保するためのものです。整数値が想定されており、カウント式のバージョン番号(5から11)と公開年(2015以降)の両方がサポートされています。GraalVMの開発バージョンのデフォルトは、ECMAScript 2021仕様です。GraalVM JavaScriptには、将来のドラフト仕様およびオープンな提案の一部の機能が実装されています(そのバージョンを明示的に選択したり、特定の試験段階フラグを有効にした場合)。本番設定では、ecmascript-versionを既存の最終バージョンの仕様に設定することをお薦めします。

使用可能なバージョンは次のとおりです:

GraalVM 21.2では、フラグをlatestまたはstagingに設定して、最新の安定バージョン(デフォルト)または開発中の試験段階機能を含むステージング・バージョンを使用することもできます。

intl-402

このオプションを使用すると、ECMAScriptの国際化APIが有効になります。ブール値が想定されており、デフォルトはfalseです。

厳密モード

このオプションを使用すると、すべてのスクリプトに対してJavaScriptの厳密モードが有効になります。ブール値が想定されており、デフォルトはfalseです。