JavaScript 完全知识体系

JavaScript 完全知识体系

Object.defineProperties

Object.defineProperties() 方法用于为一个对象定义 Properties 和/或修改已有的 Properties 的 Attributes。

语法

Object.defineProperties(O, Properties);
参数说明类型
O添加或修改 Properties 的目标对象object
Properties要定义其可枚举属性或修改的属性描述符的对象object
Attributes默认值
configurablefalse
enumerablefalse
valueundefined
writablefalse
getundefined
setundefined

返回变更后的对象。

示例

const abc = { a: 1, b: 2, c: 3 };
Object.defineProperties(abc, {
a: {
value: 'One',
writable: false,
enumerable: false,
configurable: false,
},
e: {
value: 4,
},
f: {
value: 5,
},
});
console.log(abc);
// {
// b: "Two",
// c: 3,
// a: "One",
// d: "Three",
// e: 4,
// f: 5,
// }
abc.a = 10;
console.log(abc.a);
// 'One'