[英]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.