I create a very simple object Person and calling constructor with a name
parameter, as i haven't created any local variables inside Person constructor, then how name
property gets set.
function Person(name) {
Object.defineProperty(this, "name", {
get: function() {
return name;
},
set: function(newName) {
debugger;
name = newName;
},
enumerable: true,
configurable: true
});
this.sayName = function() {
console.log(this.name);
};
}
var p1 = new Person("mike");
how name
property get set ?