JavaScript Object preventExtensions() Method

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 zambiatek1 = {}; Object.preventExtensions(zambiatek1); try { Object.defineProperty(zambiatek1, 'prop1', { value: "GFG", property1: "Geeksforzambiatek", 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 zambiatek = {}; let zambiatek0 = Object.preventExtensions(zambiatek); console.log(zambiatek0 === zambiatek); const zambiatek1 = { "prop1": 555 }; Object.preventExtensions(zambiatek1); delete zambiatek1.prop1; console.log(zambiatek1.hasOwnProperty("prop1")); const zambiatek2 = {}; Object.preventExtensions(zambiatek2); zambiatek2.prop2 = 3; console.log( zambiatek2.hasOwnProperty("prop2") ); const zambiatek3 = {}; Object.preventExtensions(zambiatek3); console.log( Object.isExtensible(zambiatek3) ); |
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



