JS Object.defineProperties()方法

时间:2023-03-09 03:00:21
JS Object.defineProperties()方法

JS Object.defineProperties()方法

描述:

Object.defineProperties()方法为目标对象同时配置多个属性。

语法:

Object.defineProperties(obj, props)

参数:

参数 描述
obj 目标对象。
props 包含一个或多个属性配置对象的对象。

props对象每个属性的配置对象包含以下几个属性:

  • configurable : 是否可以删除目标属性或是否可以再次配置属性的特性。设置为true表示可以被删除或可以重新设置特性;设置为false,不能被可以被删除或不可以重新设置特性。默认为false。
  • enumerable : 属性是否可枚举。设置为true可以被枚举;反之,不能被枚举。默认为false。
  • value : 属性对应的值。
  • writable : 属性的值是否可以被重写,设置为true表示可重写,反之,不可重写。默认为true
  • get : 读取属性时调用的函数。默认为undefined。
  • set : 设置属性时调用的函数。默认为undefined。

返回值:

配置后的目标对象。

例1:

const obj = {};

Object.defineProperties(obj, {
prop1: {
value: 'JavaScript',
writable: true
},
prop2: {
value: 'ECMAScript',
writable: false
},
});
obj.prop1 = obj.prop2 = 'TypeScript';
console.info(obj.prop1); // TypeScript
console.info(obj.prop2); // ECMAScript

转载至EC前端 - JS Object.defineProperties()方法