首页 > 其他分享 >简单理解数据代理Object.defineProperty(obj,变量,{})

简单理解数据代理Object.defineProperty(obj,变量,{})

时间:2022-09-07 22:56:25浏览次数:64  
标签:obj1 obj2 obj Object 代理 value defineProperty

简单理解 Object.defineProperty()

  • 数据代理 : 通过一个对象代理对另一个对象中属性的操作(读写)
  • eg:
let obj1 = { x: 1 }
let obj2 = { y: 2 }
   Object.defineProperty(obj2, 'x', {
       //obj2.x 被读取时触发
       get() {
           return obj1.x
       },
       //obj2.x 被修改时触发
       set(value) {
           //value 是修改后的新值
           obj1.x = value
       }
   })
  • 修改 obj2.x
obj2.x=3
console.log(obj1.x)//3
  • 在浏览器中的操作如图所示:

标签:obj1,obj2,obj,Object,代理,value,defineProperty
From: https://www.cnblogs.com/qiuguanhua/p/16667572.html

相关文章