Object.defineproperty

68 阅读1分钟

Object.defineproperty

Object.defineproperty方法会在对象上定义一个新属性,或修改其现有属性,并返回此对象。

image.png

语法

Object.defineProperty(obj, prop, descriptor)

  • obj 要修改或新增属性的对象;

  • prop 要修改或新增的属性;

  • descriptor 属性的描述符;

    • configurable为false时,属性类型不可更改,属性不可被删除,描述符的其他属性不可以被更改(writable为true,可以改写value);

    • enumerable 是否可以被枚举;

    • value 属性值,默认为undefined;

    • writable 属性值是否可以被更改;

    • get 访问该属性会触发,返回值是访问到的值;

    • set 修改该属性会触发,参数为要修改的值;

简单应用: image.png

拦截器写法: image.png