JS NewObject
出典: MDC
目次 |
[編集] 概要
オブジェクトのインスタンスを生成する関数です。
[編集] 構文
JSObject * JS_NewObject(JSContext *cx, JSClass *clasp, JSObject *proto,
JSObject *parent);
| Name | Type | Description |
|---|---|---|
cx |
JSContext * |
ランタイム環境へのアクセスに用いる JSContext ポインタ |
clasp |
JSClass * |
オブジェクト生成に用いるクラスへのポインタ |
proto |
JSObject * |
クラスとして用いる prototype オブジェクトへのポインタ |
parent |
JSObject * |
新規オブジェクトの__parent__プロパティになる親オブジェクトへのポインタ。 |
[編集] 説明
JS_NewObjectは、引数に指定したクラス、プロトタイプ、親オブジェクトを元にしてオブジェクトのインスタンスを生成する関数です。cxは、新規オブジェクトを生成するランタイム環境の子となるコンテキストへのポインタです。claspは、finalizeのような内部で定義されたメソッドを使う既存クラスへのポインタです。protoは、新規に生成するオブジェクトのプロトタイプとなるオブジェクトへのポインタです。
Set proto to NULL to force JS to assign a prototype object for you. In this case, JS_NewObject attempts to assign the new object the prototype object belonging to clasp, if one is defined there. Otherwise, it creates an empty object stub for the prototype.
引数parentは、新たに生成したオブジェクトをプロパティとして持つ親オブジェクトを指定するものです。__parent__プロパティを設定したくない時は、parentにNULLを指定してください。
JS_NewObjectが成功したとき、その返値は生成したオブジェクトのインスタンスへのポインタになり、失敗した時はNULLを返します。
[編集] 注記
既存オブジェクトのプロパティとなるオブジェクトを生成するには、JS_DefineObjectを用いてください。
[編集] 参照
| Groups | Functions |
| Documents | LXR ID Search |
| Entries |
JSClass, JS_ConstructObject, JS_DefineObject, JS_GetFunctionObject, JS_NewArrayObject, JS_ValueToObject |