Typescript 如何在对象上键入get方法
我有一个对象,其中包含从get方法访问的值。我想键入get方法,以便它从键推断返回值 我正在使用TS 3.6.2,并且有一个使用重载的工作类型,如下所示:Typescript 如何在对象上键入get方法,typescript,Typescript,我有一个对象,其中包含从get方法访问的值。我想键入get方法,以便它从键推断返回值 我正在使用TS 3.6.2,并且有一个使用重载的工作类型,如下所示: 接口值{ foo:FooType; bar:BarType; baz:baz型; } 接口ObjectWithGetter{ get(键:'foo'):值['foo']; get(键:'bar'):值['bar']; get(键:'baz'):值['baz']; } 看起来我应该能够将重载的get类型压缩成如下内容: get(key: ke
接口值{
foo:FooType;
bar:BarType;
baz:baz型;
}
接口ObjectWithGetter{
get(键:'foo'):值['foo'];
get(键:'bar'):值['bar'];
get(键:'baz'):值['baz'];
}
看起来我应该能够将重载的get类型压缩成如下内容:
get(key: keyof Values): Values[key];
但在这种情况下,key是一个变量,它不是有效的类型
有办法做到这一点吗
谢谢。您需要的是仿制药:
接口ObjectWithGetter{
get(key:K):值[K];
}
引入泛型参数
K
允许您“重复使用”选择正确返回类型的键。您需要的是泛型:
接口ObjectWithGetter{
get(key:K):值[K];
}
引入通用参数K
允许您“重复使用”键来选择正确的返回类型