Vue中Object.defineProperty基本使用

472 阅读1分钟

用途

  • 给一个 对象 定义一个新的 属性 或者修改一个 对象 现有的 属性,并返回这个对象。

语法

  • Object.defineProperty(参数1,参数2,参数3)
    • 参数1:目标对象
    • 参数2:要修改或添加的 属性名称
    • 参数3:目标对象属性 的一些特征(是一个对象)
      • 参数1:
        • value:属性值
      • 参数2:
        • writable:对象属性值是否可以被修改----true允许----false不允许
      • 参数3
        • configurable:对象属性是否可以被删除----true允许----false不允许
      • 参数4
        • enumerable:对象是否可以被枚举
      • 参数5
        • get():给一个属性提供getter方法,当访问这个对象的属性值时触发该方法。
      • 参数6
        • set():给一个属性提供setter方法,当设置属性值的时候触发该方法。

for in && Object.keys()的区别

  • Object.keys():返回一个数组,数组值为对象自有的属性,不会包括继承原型的属性
  • for in :遍历对象可枚举属性,包括自身属性,以及继承自原型的属性