Types of of Object properties

  • There are two types:
    • data properties
    • accessor properties

Accessor Property

  • They are functions that get executed on getting and setting a value
  • The following example illustrates accessor for name property:
let obj = {
  get firstName() {
    // getter, executed on getting obj.propName and return value is taken
    console.log('firstName getter called');
    return "John"
  },
 
  set firstName(value) {
    // setter, executed on setting obj.propName = value
    console.log(`firstName setter called with value: ${value}`);
  }
};
 
console.log(obj.firstName);
// firstName getter called
// John
 
obj.firstName = "KK";
// firstName setter called with value: KK
 
console.log(obj.firstName);
// firstName getter called
// John

Accessor Property Descriptors:

  • There are 4 descriptors:
    • get: function
    • set: function
    • enumerable: boolean
    • configurable: boolean