作用:
Object.defineProperty 方法为一个对象定义一个新属性或修改已经存在的属性,并返回当前对象。
用法:
Object.defineProperty(obj,prop,descriptor)
第一个参数和第二个参数好理解,就是作用的对象和作用的对象属性,第三个参数是关于对象的配置。
descriptor:
可写(writable),枚举(enumerable)和配置(configurable),默认全是false,属性描述方法,get和set,默认是undefined。
例子可见:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
vue:
当你把一个普通的 JavaScript 对象传给 Vue 实例的data选项,Vue 将遍历此对象所有的属性,并使用Object.defineProperty把这些属性全部转为 getter/setter。