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.
Syntax
JSBool 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. |
Description
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.