Object.defineproperty
Object.defineproperty方法会在对象上定义一个新属性,或修改其现有属性,并返回此对象。
语法
Object.defineProperty(obj, prop, descriptor)
-
obj要修改或新增属性的对象; -
prop要修改或新增的属性; -
descriptor属性的描述符;-
configurable为false时,属性类型不可更改,属性不可被删除,描述符的其他属性不可以被更改(writable为true,可以改写value); -
enumerable是否可以被枚举; -
value属性值,默认为undefined; -
writable属性值是否可以被更改; -
get访问该属性会触发,返回值是访问到的值; -
set修改该属性会触发,参数为要修改的值;
-
简单应用:
拦截器写法: