Join MDN and developers like you at Mozilla's View Source conference, November 2-4 in Portland, Oregon. Learn more at


Obsolete since JavaScript 1.8.5
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.

Warning: JSObjectOps is not a supported API. Details of the API may change from one release to the next. This documentation should be considered SpiderMonkey internals documentation, not API documentation. See bug 408416 for details.

The JSObjectOps.defineProperty callback is called whenever an object property is defined. It implements JS_DefineProperty.


JSBool (*JSDefinePropOp)(JSContext *cx, JSObject *obj, jsid id, jsval value,
    JSPropertyOp getter, JSPropertyOp setter, unsigned int attrs);
Name Type Description
cx JSContext * Pointer to the JS context in which the property is being defined.
obj JSObject * The object on which the property is being defined.
id jsid The name or index of the property to define.
value jsval The initial value for the new property.
getter JSPropertyOp The getter for the new property.
setter JSPropertyOp The setter for the new property.
attrs unsigned int The property attributes for the new property.


Define obj[id], an own property of obj named id, having the given initial value, with the specified getter, setter, and attributes.

Document Tags and Contributors

Contributors to this page: teoli, arai, fscholz, tschneidereit, Jorend
Last updated by: teoli,
Hide Sidebar