数据代理

61 阅读1分钟

数据代理

  • Object.proxy(参数1: 代理的那个对象)
  • 书写时要以 new 的关键字调用
  const obj ={
    name:'张三',
    age: 18,
    classRoom: '三年一班'
  }
  const res = new Proxy(obj,{  //代理对象obj
         get(target, p,){
            /**
             * target ==> 代理的对象 obj
             * p      ==> 对象里的 k 
            */
            return target[p]
         },
         set(target, p, val){
             /**
             * target ==> 代理的对象 obj
             * p      ==> 对象里的 k 
             * val    ==> 要修改时 对应的值 存储到 val中 赋值给 target[p]
            */
           target[p] = val
            return true  
            /**
             * 表示修改成功
            */
         }
  })
        res.age = 99

        obj.abc = 999

        res.abc = 666

        console.log(res)