簡體   English   中英

如何使用具有通用類型的 Typescript Function 接口?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM