typescript - 如何将泛型类型传递给子函数?
问题描述
const foo = <T>(arg1: T): T => {
return arg1
}
export type Bar = {
foo: typeof foo
}
export const bar = <T>(): Bar => {
return { foo }
}
bar<number>()
我需要根据最后一条语句中的声明将 Generic T
from传递给bar
to foo
,这样这T
将是foo
ie 的参数类型和返回类型;number
在这种情况下。我怎样才能做到这一点?
请注意 bar
和 Bar
是模块的导出成员。
解决方案
请注意,在编写此答案后问题已更改。
由于您的函数没有bar
返回类型注释,因此使用声明的. 如果您想要绑定到 的类型参数的较弱类型,那么您可以在返回类型注释中指定它:{foo<T>(arg1: T): T}
T
foo
{foo(arg1: T): T}
T
bar
const bar = <T>(): {foo(x: T): T} => {
return { foo }
}
推荐阅读
- scala - 如何创建宏以在案例类中创建 val 列表?
- primefaces - 如何制作可关闭的 p:selectOneButton?
- xml - XSLT 中子字符串的复杂使用
- r - Rcpp:将本机 C++ 函数作为参数传递?
- c# - SignalR Clients.Client($id) 无效
- docker - 如何确定从最新/稳定标签构建的 Docker 映像的特定版本?
- r - dplyr 重命名“找不到对象”
- uwp - 在 UWP AppServiceConnection 中检索字节数组
- ruby-on-rails - 验证前的 ActiveModel 属性类型转换?
- c++ - 将类对象实例作为参数从 main() 传递给另一个类对象实例