isExtensible
Summary
Returns a value that indicates whether new properties can be added to an object.
Syntax
Object.isExtensible( object )
- object
- Required. The object to test.
Return Value
true if the object is extensible, which indicates that new properties can be added to the object; otherwise, false.
Examples
The following example illustrates the use of the Object.isExtensible function.
// Create an object that has two properties.
 var obj = { pasta: "spaghetti", length: 10 };
 // Make the object non-extensible.
 Object.preventExtensions(obj);
 // Try to add a new property, and then verify that it is not added.
 obj.newProp = 50;
 document.write(obj.newProp);
 // Output:
 undefined
Remarks
For information about how to set property attributes, see Object.defineProperty Function. To obtain the attributes of a property, you can use the Object.getOwnPropertyDescriptor Function.
The following related functions prevent the modification of object attributes.
| Function | Object is made non-extensible | configurable is set to false for each property | writable is set to false for each property | 
|---|---|---|---|
| Object.preventExtensions | Yes | No | No | 
| Object.seal | Yes | Yes | No | 
| Object.freeze | Yes | Yes | Yes | 
The following functions return true if all of the conditions marked in the following table are true.
| Function | Object is extensible? | configurable is false for all properties? | writable is false for all data properties? | 
|---|---|---|---|
| Object.isExtensible | Yes | No | No | 
| Object.isSealed | No | Yes | No | 
| Object.isFrozen | No | Yes | Yes | 
Exceptions
If the object argument is not an object, a TypeError exception is thrown.
See also
Other articles
- Object.preventExtensions Function
- Object.seal Function
- Object.freeze Function
- Object.isSealed Function
- Object.isFrozen Function
Attributions
- Microsoft Developer Network: Article