JS_DefineOwnProperty

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.

See Also