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];
这是使用索引签名的一个很好的概述:非常感谢!!我永远不会明白,就是这么简单!