2017-05-12 146 views
0

给出以下类型:打字稿匿名嵌套类型

type Foo = { 
    a: { 
    b: number 
    c: string 
    } 
    d: number 
} 

有没有办法来检索匿名嵌套类型?我在想像TypeOf<Foo, 'a'>应该返回由b和c组成的类型,并且TypeOf<Foo, 'd'>应该是数字的别名。我编写了语法,但我想知道是否存在类似的概念

回答

1

事实证明,您可以通过执行Foo['a']来做到这一点。大!

+0

如果您要重复使用内部类型,您应该制作一个真实类型,以便清晰度为 –

+0

,但这并非总是可行。在我的情况下,这种类型来自代码生成器,所以我坚持这一点。我仍然不知道如何处理复杂的情况,如果'a'是可选的,那么'Foo ['a'] ['b']'会抛出,你知道如何解决这个问题吗? –

+0

不,我还没有听说过你找到的这个解决方案 –