JS: Prevent Adding Property
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?
- User-defined objects are extensible, by default.
- Standard objects (e.g. Object, Array, Function, Date, etc) are extensible, by default.
- Host objects (e.g.
windows.document) may or may not be 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
- JS: Object (basics)
- JS: Object Overview
- JS: Object Type
- JS: Test is Object Type 📜
- JS: Find Object's sub-type
- JS: Prototype and Inheritance
- JS: Prototype Chain
- JS: Object.prototype.isPrototypeOf
- JS: Get Set Prototype
- JS: Show Prototype Chain 📜
- JS: Prototype Tree
- JS: Dot Notation and Prototype Chain
- JS: Create Object
- JS: Object Literal Expression
- JS: Object.create
- JS: Object Literal Expression vs Object.Create
- JS: Create Object with Parent X
- JS: Prevent Adding Property
- JS: Deep Copy Array or Object 📜
- JS: Test Equality of Array and Object by Content 📜
- JS: Add Method to Prototype
- JS: Object (class)
- JS: Object Constructor
- JS: Object.prototype