let count =2
let double = count * 2
let obj = {
count:2
}
function getDouble(val) {
return val*2
}
Object.defineProperty(obj,'count',{
get() {
return count
},
set(val) {
console.log(val)
double = getDouble(val)
}
})
console.log(double)
obj.count = 3
console.log(double)
console.log('---------------------')
let target = {} ;
proxy = new Proxy(target,{
get(target,key) {
console.log(target,key)
return 30
},
set(target,key,value) {
console.log(target,key,value)
target[key] = value
},
deleteProperty(target,key) {
console.log(target,key)
return delete target[key]
}
})
proxy.age
proxy.name = 'iu'
console.log(target.name)
delete proxy.name
console.log(target.name)
console.log('---------------')
let _val = 6
let double1 = getDouble(_val)
let count1 = {
get value() {
return _val
},
set value(val) {
console.log(val)
_val = val
double1 = getDouble(val)
}
}
count1.value = 2
console.log(double1)
console