静态方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。
语法:Object.defineProperties(obj, props)
参数:
-
obj:在其上定义或修改属性的对象。
-
props:一个对象,其中每个键表示要定义或修改的属性的名称,每个值是描述该属性的对象。数据描述符和访问器描述符同 Object.defineProperty。详细描述符请查看Object.defineProperty()详解
let obj = {}
let age = 18
Object.defineProperties(obj,{
name: {
value:'freeman',
configurable: true,
writable: false,
enumerable: true,
},
age: {
configurable: false,
enumerable: true,
get: function(){
return age
},
set: function(value){
age = value
}
}
})
console.log(obj)
与Object.defineProperty()不同的是Object.defineProperties()可以一次性定义多个属性