Function Typescript从传递的函数返回类型推断返回类型
我可能会试图实现不可能的目标,但事情是这样的 我想定义一个函数(函数a),它将返回与传入函数a参数的新函数相同的类型 e、 gFunction Typescript从传递的函数返回类型推断返回类型,function,generics,typescript,Function,Generics,Typescript,我可能会试图实现不可能的目标,但事情是这样的 我想定义一个函数(函数a),它将返回与传入函数a参数的新函数相同的类型 e、 g 导出功能测试(arg:function):T{ 返回arg; } 函数a():字符串{ 返回“a”; } 函数b():编号{ 返回0; } 设aVal:string=test(a); 设bVal:编号=试验(b); 显然,这将允许我针对一些编译时错误强烈地键入响应 有人知道我是不是在做梦吗 **注意:为演示而拼凑的代码** 干杯这个怎么样 功能测试(arg:()=>T
导出功能测试(arg:function):T{
返回arg;
}
函数a():字符串{
返回“a”;
}
函数b():编号{
返回0;
}
设aVal:string=test(a);
设bVal:编号=试验(b);
显然,这将允许我针对一些编译时错误强烈地键入响应
有人知道我是不是在做梦吗
**注意:为演示而拼凑的代码**
干杯这个怎么样
功能测试(arg:()=>T):T{
返回arg();
}
函数a():字符串{
返回“a”;
}
函数b():编号{
返回0;
}
设aVal:string=test(a);
设bVal:编号=试验(b);
我们没有使用函数接口,而是将arg定义为一个不带参数且返回类型为T的函数。然后,实际类型T可以由传入的函数定义。这太棒了,我不知道您可以在不定义函数本身的情况下定义这样的函数签名。谢谢。。我们定义的是一个函数参数,它应该是一个不接受任何参数并返回某些内容的函数。就这些。:)布里尔正是我需要的
export function test<T> ( arg:Function ):T {
return arg;
}
function a():string {
return 'a';
}
function b():number {
return 0;
}
let aVal:string = test(a);
let bVal:number = test(b);