let obj = {
name: 'xiaoming',
age: '18'
}
let name = 'lihua'
Object.defineProperty(obj, 'name', {
get(){
console.log('读取name属性1')
return
},
set(newVal){
console.log('监听name属性变化1')
name = newVal
}
})
const proxy = new Proxy(obj, {
get(target, propName){
console.log(`读取${propName}属性2`)
return
},
set(target, propName, newVal){
console.log(`监听${propName}属性变化2`)
console.log(target, propName, newVal)
name = newVal
}
})
obj.name = 'xiaohong'
proxy.name = 'xiaolan'
console.log(name)
- defineProperty Object Proxy newdefineproperty object proxy new defineproperty object proxy defineproperty object defineproperty数据object writable object value defineproperty object defineproperty对象create defineproperty object 110 数组defineproperty数据object defineproperty vue数据object 操作符object create new