ES6-Proxy

let obj = {aaa: '111', bbb: '222', ccc: '333'}

let objProxy = new Proxy(obj, {
  get(target, p, receiver) {
    return Reflect.get(target, p, receiver)
  },
  set(target, p, value, receiver) {
    Reflect.set(target, p, value, receiver)
    return true
  },
  deleteProperty(target, p) {
    Reflect.deleteProperty(target, p)
    return true
  }
})

objProxy.aaa = "xxx"
console.log(obj)//{aaa: "xxx", bbb: "222", ccc: "333"}

delete objProxy.bbb
console.log(obj)//{aaa: "xxx", ccc: "333"}
原文地址:https://www.cnblogs.com/linding/p/14743583.html