let person = {};
person.name = '王';
console.log(person);
Object.defineProperty(person, 'name', {
get() {
return person.name;
},
set(val) {
console.log('person name changed');
person.name = val;
},
configurable: true,
enumerable: true
});
// 这里的 get 调用会死循环
console.log(person.name);
报错输出:
这里 return person.name 又调用 get 方法, 导致无限递归