![](/img/trans.png)
[英]How do you constrain a Generic type in a Typescript Function Interface?
[英]How do you use a Typescript Function Interface with a Generic type?
假设我们有以下 function 接口:
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
?
您可以像这样声明接口
interface SomeFunction {
<T>(arg: T) : T
}
然后,您可以完全按照自己的意愿编写 function
const myFun: SomeFunction = arg => arg
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.