Open In App

JavaScript TypeError – Can’t define property “X”: “Obj” is not extensible

Improve
Improve
Like Article
Like
Save
Share
Report

This JavaScript exception can’t define property “x”: “obj” is not extensible occurs when Object.preventExtensions() is used on an object to make it no longer extensible, So now, New properties can not be added to the object.

Message:

TypeError: Cannot create property for a non-extensible object (Edge)
TypeError: can't define property "x": "obj" is not extensible (Firefox)
TypeError: Cannot define property: "x", object is not extensible. (Chrome)

Error Type:

TypeError

Cause of Error: After the Object.preventExtensions() method is applied to an object, New properties are added to the object, Which is not permissible. 

Example 1: In this example, the new property is being added after the Object.preventExtensions() method is applied, So the error has occurred.

Javascript




'use strict';
 
let GFG_Obj = { 'name': 'GFG' };
Object.preventExtensions(GFG_Obj);
 
GFG_Obj.age = 22; // error here


Output(in console):

TypeError: Cannot create property for a non-extensible object

Example 2: In this example, the new property is being added using defineProperty() method after the Object.preventExtensions() method is applied, So the error has occurred.

Javascript




'use strict';
 
let GFG_Obj = { 'name': 'GFG' };
Object.preventExtensions(GFG_Obj);
 
// error here
Object.defineProperty(GFG_Obj,
    'person', { dob: "02/11/1997" }
);


Output(in console):

TypeError: Cannot define property 'person': object is not extensible

Last Updated : 02 Jun, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads