JS: Prevent Adding Property

By Xah Lee. Date: . Last updated: .

What does object is extensible mean

It means own property can be added to the object.

Together with Property Attributes configurable and writable, they determine if property can be added, deleted, or value changed.

Parent object may be extensible

🛑 WARNING: if a object is not extensible, but its parent may be, so people can add properties to the parent object, and your object may still get unexpected properties, because of inheritance.

What Objects Are Extensible?

[Object, Array, Function, String, Date, RegExp].forEach((x) => {
 console.assert(Reflect.isExtensible(x) === true);
});

Check If Object is Extensible

Prevent Adding Properties

Prevent Adding/Deleting Properties

Prevent Adding/Deleting/Writing Properties

JavaScript. Prevent Change Property

JavaScript. Object and Inheritance