【发布时间】:2021-07-04 01:42:39
【问题描述】:
假设我们有以下函数接口:
interface SomeFunction<T> {(arg: T) :T}
我们可以这样使用界面:
const myFun: SomeFunction<string> = arg => arg;
但问题在于我们将泛型类型T 指定为string。我们怎样才能离开T 通用?
我看到的唯一方法基本上是在函数签名中不使用SomeFunction。像这样:
function myFun2<T>(arg: T): T {
return arg;
}
但这并不好,因为没有提及SomeFunction接口,即使我们基本匹配它。
有没有更好的方法来声明myFun2,以便我们确保它符合SomeFunction?
【问题讨论】:
标签: typescript typescript-generics