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.getAttributes and setAttributes callbacks are called to access the attributes of a property.


typedef JSBool (*JSAttributesOp)(JSContext *cx, JSObject *obj, jsid id,
    JSProperty *prop, unsigned int *attrsp);
Name Type Description
cx JSContext * Pointer to the JS context in which the property access is happening.
obj JSObject * The object whose property attributes are being accessed.
id jsid The name or index of the property whose attributes are being accessed.
prop JSProperty * The property whose attributes are being accessed. This may be NULL.
attrsp unsigned int * In/out parameter. See the Description section below.


Get or set attributes of the property obj[id]. Returns JS_FALSE on error or exception, else JS_TRUE with current attributes in *attrsp. If prop is non-null, it must come from the *propp out parameter of a prior JSObjectOps.defineProperty or JSObjectOps.lookupProperty call.

For more information on property attributes, see JS_GetPropertyAttributes.

Document Tags and Contributors

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