JavaScript中的Proxy可撤销

48 次浏览 1 分钟阅读 0 个喜欢
let obj = {
    name: '小明',
    age: 18
}


let proxy = Proxy.revocable(obj, {
    get (target, key) {
        if (key == 'age') {
            return target[key] + 3
        }
        return target[key] || ''
    }
})

console.log(proxy.proxy.age, proxy)

setTimeout(function () {
    proxy.revoke()
    setTimeout(function () {
        console.log(proxy.proxy.age)
    }, 1000)
}, 1000)