我正在尝试用打字稿做类似的事情
class Test {
someMethod(){}
}
const foo = {
'someStringThatMeansTest': new Test,
}
function createClass(classReferenceName) {
return foo[classReferenceName];
}
const test = createClass('someStringThatMeansTest');
我想知道是否有可能让打字稿找出createClass的返回类型
答案 0 :(得分:1)
是的,您可以将参数类型限制为foo
的键,然后typescript将能够正确推断返回类型:
function createClass<T extends keyof typeof foo>(classReferenceName: T) {
return foo[classReferenceName];
}