We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS


JSAPIにおいて、JSRuntimeはメモリ管理やグローバルなデータ構造などを扱う最高位のオブジェクトです。複数のスレッドが動作するプログラムにおいても、プログラム内のJSRuntimeは一般的に一つだけです。JSRuntimeはJavaScriptのオブジェクトを保持する空間であり、オブジェクトは複数のJSRuntimeを跨いで移動することはできません。 JSAPI, <code>JSRuntime</code> is the top-level object that handles, among other things, memory management and "global" data structures. A program typically has only one <code>JSRuntime</code>, even if it has many threads. The <code>JSRuntime</code> is the universe in which JavaScript objects live; they can't travel to other <code>JSRuntime</code>s.

JSContextJSRuntimeの子に位置し、すべてのJavaScriptコードとJSAPIの関数はJSContextを介して実行されます。JSContext内には、global objectや実行時スタックなどが含まれます。 例外処理エラー報告、一部のJavaScriptのオプション などは各JSContextごとに管理されます。JS_THREADSAFEオプションを有効にしたビルドでは、複数のスレッドからJavaScriptのコードを呼び出し並行して実行できますが、呼び出し元のスレッドはそれぞれ独立したJSContextを持つ形になります。詳細はJS_THREADSAFEを参照してください。 All JavaScript code and most JSAPI calls run within a <code>JSContext</code>. The <code>JSContext</code> is a child of the <code>JSRuntime</code>. Among other things, it contains the global object and the execution stack. Exception handling, error reporting, and some language options are per-<code>JSContext</code>. In a <code>JS_THREADSAFE</code> build, multiple threads may run JavaScript code concurrently, but each such thread must have its own <code>JSContext</code>. See <code> JS_THREADSAFE</code> for details.

JavaScriptオブジェクトとそのコンテキストとの関係は固定されたものでなく、オブジェクトはJSRuntimeを介してその子となるJSContext間で共有することができます。 Objects may be shared among <code>JSContext</code>s within a <code>JSRuntime</code>. There's no fixed association between an object and a context.


このページの貢献者: fscholz, Norihiro
最終更新者: fscholz,