gpt4 book ai didi

JavaScript : How to keep defined object descriptor of original objects after mixing them up?

转载 作者:行者123 更新时间:2023-11-28 06:14:33 25 4
gpt4 key购买 nike

假设我有这两个对象,我在每个 Prop 上设置了描述符:

var readonly = {
libName: _libName,
libVersion: _libVersion,
createStage: _createStage,
renderer: _renderer
};
Object.keys(readonly).forEach(function (prop) {
Object.defineProperty(readonly, prop, {
writable: false

});
});

var writable = {
rendererOptions: _rendererOptions
};

Object.keys(writable).forEach(function (prop) {
Object.defineProperty(writable, prop, {
writable: false
});
});

然后我想用分配合并两个对象,但描述符不保留。我不知道这是否正常,因为创建了第三个对象。如果是这样,我该如何处理以保留描述符?这是我得到的(顺便说一句,这只是一个示例):

console.log(Object.getOwnPropertyDescriptor(writable, "rendererOptions"));
//gives Object {value: Object, writable: false, enumerable: true, configurable: true}

var o = Object.assign(readonly, writable);

console.log(Object.getOwnPropertyDescriptor(o, "rendererOptions"));
//gives Object {value: Object, writable: true, enumerable: true, configurable: true}

感谢您提供的任何帮助。如果您有更好的解决方案,我会全力支持。

最佳答案

这是我的评论作为答案:

似乎您正在寻找类似 completeAssign 的内容MDN 关于 Object.assign 的文章中的示例。本文还应该有助于解释您从上面的代码中看到的行为

关于JavaScript : How to keep defined object descriptor of original objects after mixing them up?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36092786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com