繁体   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