typescript - 在 Typescript 上创建具有两个泛型类型的对
问题描述
在下面的一段代码中
type Pair<A,B> = { fst: A, snd: B }
function pair<A,B>(a:A) {
return function (b:B):Pair<A,B> {
return {
fst: a,
snd: b
}
}
}
const z = pair(2)("aaa")
的类型z
是Pair<number,unknown>
。有没有办法让 TypeScript 推断B
in的类型z
?这是上面那块的游乐场链接。
解决方案
函数类型参数应该在推断它们的函数上。移动B
到内部函数,它按预期工作
type Pair<A,B> = { fst: A, snd: B }
function pair<A>(a:A) {
return function <B>(b:B):Pair<A,B> {
return {
fst: a,
snd: b
}
}
}
const z = pair(2)("aaa")
推荐阅读
- xamarin - Why my Xamarin Parse project for Android do not compile?
- sql-server - 无法从 Docker 容器连接到外部 SQL Server
- c++ - rand with vector of strings in a multimap
- json - SwiftUI - 过滤 JSON 并匹配核心数据
- html - Html 文件找不到带有给定链接的 Servlet
- html - 我无法更改元素的高度和宽度
- c# - C#如何给类添加重载方法
- python-3.x - 类中的键盘事件在 tkinter 中不起作用
- c++ - Stoi 不是 std 的成员
- google-bigquery - 跨各种 BigQuery 表分布数据