Object.defineProperty() & vue的watch

作用:

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。


Object.defineProperty() & vue的watch_第1张图片
vue watch的实现

你可能感兴趣的:(Object.defineProperty() & vue的watch)