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.

As of SpiderMonkey 1.8.5, JS_SealObject has been removed from the JSAPI, because ECMAScript 5 includes a "seal" concept (namely, that of Object.seal) which is quite different from that of JS_SealObject.  Moreover, JS_SealObject's exact semantics are subtly incompatible with ECMAScript.  JS_FreezeObject and JS_DeepFreezeObject are near-substitutes compatible with ECMAScript semantics, implementing semantics compatible with those of Object.freeze.

Prevent modification of object fields.


JS_SealObject(JSContext *cx, JSObject *obj, JSBool deep);
Name Type Description
cx JSContext * A context.
obj JSObject * The object to seal.
deep JSBool If true, seal all objects directly or indirectly reachable from obj's slots.


JS_SealObject prevents all write access to the object, either to add a new property, delete an existing property, or set the value or attributes of an existing property.

See Also