Object.defineproperty的原理分析,非常重要,理解这个就会对Vue中实例中的属性有深入的了解

理解Object.defineproperty的原理分析

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <script>
    // Object.defineProperty方法的作用是给对象添加属性,或者修改已有属性的特性。
    // 语法:Object.defineProperty(obj, prop, options)
    // 参数:
    // obj:要添加属性的对象。
    // prop:添加或修改属性的名称。
    // options:配值项

    //定义一个变量,并给赋值
     let _phone='18888888888'

    let peron={
        name:'Tom',
        age:20,
        gender:'male'
    }
    
    //object.defineProperty原理分析  第一种方法
      // Object.defineProperty(peron, 'phone'  , {
      //   value: '13800138000',
      //   writable: true,
      //   enumerable: true,
      //   configurable: true
      // });

      //第二种方法
      Object.defineProperty(peron, 'phone', {
        get() {
          return this._phone;
        },
        set(value) {
          this._phone = value;
        }
      });

      console.log(peron); 
   </script>  
</body>
</html>

posted @ 2024-09-29 14:40  一个人走在路上  阅读(2)  评论(0编辑  收藏  举报