Typescript 获取变量键对象内部的类型

Typescript 获取变量键对象内部的类型,typescript,typescript-typings,Typescript,Typescript Typings,我试图获得一个变体对象道具的类型,但我不知道如何获得如此深入的类型 例如: interface Foo { name: string; id: string; } interface Bar { [key: string]: Foo; } interface Baz { source: number; } // The effect I want to reach // type Bat = Foo & Baz; // But not using

我试图获得一个变体对象道具的类型,但我不知道如何获得如此深入的类型

例如:

interface Foo {
    name: string;
    id: string;
}

interface Bar {
    [key: string]: Foo;
}

interface Baz {
    source: number;
}

// The effect I want to reach
// type Bat =  Foo & Baz;

// But not using `Foo` and `Baz`, but `Bar` and `Baz`
type Bat = (Something with `Bar`) & Baz;


这可能吗?

由于
是用
字符串
的索引签名定义的,因此您可以使用任何
字符串
(例如:
“foo”
)或
字符串
本身

接口Foo{
名称:字符串;
id:字符串;
}
接口条{
[键:字符串]:Foo;
}
界面Baz{
资料来源:数字;
}
Bat类型=条形[字符串]&Baz;
//也可以使用任意字符串,但这不太一般
键入batalernactive=Bar[“foo”]&Baz;
//类型中缺少属性“source”
常量无效:Bat={
名称:“测试”,
身份证号码:“42”
};
//类型中缺少属性“id”
常数无效2:Bat={
名称:“测试”,
资料来源:3
};
常量有效:Bat={
名称:“测试”,
id:“42”,
资料来源:3
};
这类似于使用
number
引用数组中的元素类型

类型Arr=数组;
type ElementTypes=Arr[number];

这是使用索引签名的一个很好的概述:

非常感谢!!我永远不会明白,就是这么简单!