defineProperties()
方法的语法为:
Object.defineProperties(obj, props)
使用Object
类名称调用作为静态方法的defineProperties()
方法。
defineProperties()参数
defineProperties()
方法采用:
- obj-在其上定义或修改属性的对象。
- props-一个对象,其键表示要定义或修改的属性的名称,其值是描述这些属性的对象。
每个属性值必须是数据描述符或访问器描述符。它们可以具有以下可选属性。-
configurable
-
enumerable
数据描述符也可以具有:
-
value
-
writable
访问器描述符也可以具有:
-
get
- 组
-
从defineProperties()返回值
- 返回传递给函数的对象。
注意:如果描述符不具有value
, writable , get和set键,则将其视为数据描述符。如果描述符同时具有value或writable以及get或set键,则将引发异常。
示例:使用Object.defineProperties()
let obj = {};
Object.defineProperties(obj, {
property1: {
value: true,
writable: true,
},
property2: {
value: "Hello",
writable: false,
},
});
console.log(obj); // {property1: true, property2: "Hello"}
输出
{property1: true, property2: "Hello"}
推荐阅读: Javascript对象defineProperty()