vue2.0 es5语法糖 Object.defineProperty()

Object.defineProperty()

   Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。

  对象里目前存在属性描述符有两种主要形式:数据描述符和存取描述符。

  数据描述符是一个具有值的属性,该值可以是可写的,也可以是不可写的。

  存取描述符是由getter函数和setter函数所描述的属性。

  

var value
    Object.defineProperty(obj,"id",{
      configurable:false,  //当为true时,该属性的描述符能够被改变,同时该属性也可以从对应的对象上删除。
      enumerable:false,//该属性为true时,该属性才会出现在对象的枚举属性中。
      value:'',//默认为false
      writable:false,//当为true时,上面的value才能被赋值运算符改变。
      get(){
        console.log("取值");
      },
      set(x){
        value=x;s
        console.log("设置");
      }
    })

  文献:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

集思广益,仅供学习,侵权即删!!
原文地址:https://www.cnblogs.com/hudunyu/p/13617654.html