Visit Mozilla.org

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__プロパティを設定したくない時は、parentNULLを指定してください。

JS_NewObjectが成功したとき、その返値は生成したオブジェクトのインスタンスへのポインタになり、失敗した時はNULLを返します。

[編集] 注記

既存オブジェクトのプロパティとなるオブジェクトを生成するには、JS_DefineObjectを用いてください。

[編集] 参照

Groups Functions
Documents LXR ID Search
Entries

JSClass, JS_ConstructObject, JS_DefineObject, JS_GetFunctionObject, JS_NewArrayObject, JS_ValueToObject