【发布时间】:2020-08-18 04:16:45
【问题描述】:
一个函数需要另一个通用函数作为输入,它被定义为:
function higherOrderFunction(fn: Function): Function {
// do something
return (...args: any[]) => fn(...args);
}
称为
function fun(x: number, y: string) { return `${x}${+y}`; }
const higherOrderFunctionWithFunction= higherOrderFunction(fun);
console.log(higherOrderFunctionWithFunction(1, '3'))
无论是 x 还是 y 类型,这都适用于 typescript(无编译错误)。
如何强制higherOrderFunction返回的函数只有x:number, y:string才能被TSC正确编译? (理想情况下适用于任意数量的参数和类型,而不仅仅是这种特定情况)
【问题讨论】:
标签: typescript