我将泛型类型给函数参数,当我调用函数时,它会给出一个错误:“这个表达式不可调用。未知类型没有调用签名”。
function a() { return 'abc' }
function fun<T>(x: T, y: string) {
return x() + y;
}
fun(a, "str")
发布于 2022-07-21 13:34:46
正如在这个答案https://stackoverflow.com/a/62233415/3262937中所写的,您应该使用T extends Function
,以便类型记录编译器知道您的泛型参数是一个函数。
发布于 2022-07-21 13:32:59
有解决办法。
function a() { return 'abc' }
function fun<T>(x: T, y: string) {
return x + y;
}
fun(a(), "str");
https://stackoverflow.com/questions/73067119
复制相似问题