Visit Mozilla.org

JS ConstructObject

出典: MDC

新たにJavaScriptオブジェクトを生成し、コンストラクタを呼び出します。

[編集] 構文

JSObject * JS_ConstructObject(JSContext *cx, JSClass *clasp,
    JSObject *proto, JSObject *parent);
Name Type Description
cx JSContext * 新たなオブジェクトを配置するコンテキスト
proto JSObject * クラスとなるプロトタイプオブジェクトへのポインタ
parent JSObject * 新たなオブジェクトの __parent__ プロパティに指定するオブジェクトへのポインタ

[編集] 解説

JS_ConstructObjectは、与えられたクラス、プロトタイプ、親オブジェクト、コンストラクタ関数をもとに新たなオブジェクトのインスタンスを生成する関数です。cxには、新たなオブジェクトを配置するランタイムと結び付けられたコンテキストへのポインタを指定します。claspには、ファイナライズ処理などの内部関数が定義された既存クラスへのポインタを指定します。protoは、新たなオブジェクトのプロトタイプとなるオブジェクトへのポインタを指定する引数です。

自分自身をプロトタイプオブジェクトにするには、protoNULLを指定してください。このとき、claspがプロトタイプを定義している場合には、JS_ConstructObjectは新たなオブジェクトのプロトタイプにそれを用います。定義していない場合は、空オブジェクトスタブをプロトタイプとします。

parentには、新規オブジェクトの親プロパティとなるオブジェクトへのポインタを指定します。この引数はオプションであり、parentNULLを指定することで親プロパティを持たないオブジェクトになります。

JS_ConstructObjectが成功したとき、新たに生成されたオブジェクトへのポインタをその返値とします。失敗したときはNULLを返します。

[編集] 関連項目

LXR で JS_ConstructObject を ID 検索

JS_DefineObject, JS_GetFunctionObject, JS_NewArrayObject, JS_NewObject, JS_ValueToObject