gpt4 book ai didi

typescript - 如何在 typescript 中实现递归接口(interface)?

转载 作者:搜寻专家 更新时间:2023-10-30 21:13:43 25 4
gpt4 key购买 nike

我想为以下对象实现接口(interface)。

const test:Test = {
a: {
b: {
c: {
(d... f... g... recursively),
keyName: 1
}
},
keyName: 1
},
keyName: 1
};

我试着像下面那样做,但我得到了一个错误。

interface Test {
[key: string]: Test;
keyName?: number; => Property 'keyName' of type 'number | undefined' is not assignable to string index type 'Test'.
}

如果你知道,请给我解决这个问题。感谢阅读。 :)

最佳答案

定义一个具有自己类型成员的类还不够吗?

class A {
public b: A;
public c: string;
}

然后你可以这样做:

let y: A;
y.b.b.b.b.b.b.b.b.b;
y.b.b.b.b.c;

与任何递归一样,您可能应该在某个地方停下来,所以我将递归属性设为可选。

关于typescript - 如何在 typescript 中实现递归接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49584976/

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