JavaScript Object preventExtensions() Method (original) (raw)
Last Updated : 29 May, 2023
The Object.preventExtensions() method in JavaScript is a standard built-in object which prevents new properties from ever being added to an object. This method also prevents reassigning of the object’s prototype.
Syntax:
Object.preventExtensions( obj )
Parameters: This method accepts a single parameter as mentioned above and described below:
- obj: This parameter holds the object which must be made non-extensible.
Return value: This method returns the object after making it non-extensible.
Below examples illustrate the Object.preventExtensions() method in JavaScript:
Example 1: This example throws a type error as we cannot assign new properties to the object because Object.preventExtensions() method is used.
javascript
let geeks1 = {};
Object.preventExtensions(geeks1);
try
{
`` Object.defineProperty(geeks1,
'prop1'
, {
`` value:
"GFG"
,
`` property1:
"Geeksforgeeks"
,
`` property2:
"Best platform to learn"
`` });
}
catch
(error) {
`` console.log(error);
}
Output:
TypeError: Cannot define property prop1, object is not extensible
Example 2: In this example, we will check if we have some properties of the object or not using the Object.hasOwnProperty() method with the Object.preventExtensions() method.
javascript
let geeks = {};
let geeks0 = Object.preventExtensions(geeks);
console.log(geeks0 === geeks);
const geeks1 = {
"prop1"
: 555 };
Object.preventExtensions(geeks1);
delete
geeks1.prop1;
console.log(geeks1.hasOwnProperty(
"prop1"
));
const geeks2 = {};
Object.preventExtensions(geeks2);
geeks2.prop2 = 3;
console.log(
`` geeks2.hasOwnProperty(
"prop2"
)
);
const geeks3 = {};
Object.preventExtensions(geeks3);
console.log(
`` Object.isExtensible(geeks3)
);
Output:
true false false false
We have a complete list of Javascript Object methods, to check those please go through this JavaScript Object Complete Reference article.
Supported Browsers: The browsers supported by Object.preventExtensions() method are listed below:
- Chrome 6 and above
- Edge 12 and above
- Firefox 4 and above
- Opera 12 and above
- safari 5.1 and above