Object properties and attributes
Each object has a few properties. Each property, in turn, has a key and attributes. A property's state is stored in these attributes. All properties have the following attributes:
- Enumerable (boolean): This indicates if you can enumerate the properties of the object. System properties are non-enumerable while user properties are enumerable. Unless there is a strong reason, this property should remain untouched.
- Configurable(boolean): If this attribute is
false, the property cannot be deleted or edited (it cannot change any of its attribute).
You can use the Object.getOwnPropertyDescriptor() method to retrieve an object's own properties:
let obj = {
age: 25
}
console.log(Object.getOwnPropertyDescriptor(obj, 'age'));
//{"value":25,"writable":true,"enumerable":true,"configurable":true}
Meanwhile, the property can be defined using the Object.defineProperty() method:
let obj...