Obsolete since JSAPI 33
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
This article covers features introduced in SpiderMonkey 1.8.5
Please provide a description for this function.
Syntax
bool JS_DefineOwnProperty(JSContext *cx, JS::HandleObject obj, JS::HandleId id, JS::HandleValue descriptor, bool *bp);
Name | Type | Description |
---|---|---|
cx |
JSContext * |
The context. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext . |
obj |
JS::HandleObject |
Object on which the property should be defined own. |
id |
JS::HandleId |
The jsid of the property that should be defined. |
descriptor |
JS::HandleValue |
This should be an jsval consisting of an object interpretable as property descriptor. |
bp |
bool * |
true if successful. |
Description
JS_DefineOwnProperty
implements the ECMAScript defined function Object.defineProperty
. So the same restrictions apply as for that function (e.g. it is not possible to change a non-configurable property).
descriptor
is supposed to be a property descriptor, this means you need to create an object with properties such as value
, writable
, get
or set
. See Object.defineProperty for a list of possible fields. A getter or setter defined with this functions will be observable from JS code.