首页 > 解决方案 > 打字稿:构造引用自身的对象的最佳方法

问题描述

我正在尝试将这个简化的 js 代码迁移到 ts 中:

let Test = {};
Test.a = { //error: prop a does not exist
    someProp: true
};

Test.b = {
    ...Test.a,//self referencing
    otherProp: true
};

export default Test;

我想避免将对象提取到接口,因为对象有很多道具,我不想在实现中重复所有道具。

有什么建议么?

游乐场链接

标签: typescriptobjectself-reference

解决方案


当您重新安排一些事情时,结果仍然应该正确推断。

const a = {
    someProp: true
}
const b = {
    ...a,
    otherProp: true
}

const test = {a, b}

export default test;

构建这样一个对象的“诀窍”是您需要一次构建它,而不是在多个步骤中修改它。通过颠倒顺序,您可以实现这一目标。


推荐阅读