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// Johnobj.firstName = "KK";// firstName setter called with value: KKconsole.log(obj.firstName);// firstName getter called// John