我无法在Typescript(1.8)中编译这个简单的代码片段
function test<T>(a: string, input: T): T {
return input
}
const xyz: (a: string, b: number) => number = test<number>
我有一个接受委托的函数,但是将泛型函数转换为该委托格式需要我执行这个额外的步骤:
const xyz: (a: string, b: number) => number = (a,b) => test<number>(a,b)
......这对我来说似乎并不理想。任何想法为什么这不起作用,或者是否有另一种语法来实现相同的目标?
答案 0 :(得分:1)
根本不需要通用约束,这样做:
const xyz: (a: string, b: number) => number = test;
编译器根据您为变量明确定义的类型将通用约束推断为数字 另一种方法是:
const xyz = test as (a: string, b: number) => number;