以mozilla为例,这是Object.defineProperties
的简单案例
const object1 = {};
Object.defineProperties(object1, {
property1: {
value: 42,
writable: true
},
property2: {}
});
如果我想做一个嵌套的东西,例如
const object1 = {};
Object.defineProperties(object1, {
nested: {
property1: {
value: 42,
writable: true
},
property2: {}
}
});
这显然是行不通的,但是希望它可以描绘出我想要的东西。
最佳答案
defineProperties
只能传递要向其添加属性的现有对象,并且只能直接在该对象上定义属性。没有办法提前定义父对象,以便在嵌套属性上调用defineProperties
:
const object1 = {nested: {}};
Object.defineProperties(object1.nested, {
property1: {
value: 42,
writable: true,
enumerable: true
},
property2: {
enumerable: true
}
});
console.log(object1);
关于javascript - 嵌套的Object.defineProperties,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55663088/