Object.defineProperty() 在vue中的应用

一、Object.defineProperty()

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

二、语法

Object.defineProperty(obj, prop, descriptor)

参数

  • obj

    要定义属性的对象。

  • prop

    要定义或修改的属性的名称或 Symbol

  • descriptor

    要定义或修改的属性描述符。

返回值

被传递给函数的对象。

 Object.defineProperty(person,'age',{

​      // value:18,

​      // enumerable:true,//控制属性是否可以枚举 默认值是false

​      // writable:true, //控制属性是否可以修改 默认值是false

​      // configurable:true//控制属性是否可以被删除 默认值是false



​      // 当有人读取person的age属性时 get函数(getter)就会被调用 且返回值就是age的值

​      // get:function()可简写为 get()

​      get:function(){

​        return number

​      },

​      // 当有人修改person的age属性时 set函数(setter)就会被调用 且会收到修改的具体值

​      set:function(value){

​        number = value

​      }

​    })

​    console.log(Object.keys(person));//遍历person对象


版权声明:本文为qq_45954420原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。