typescript - 在函数的“typeof”中指定泛型
问题描述
如果我在 Typescript 中有以下功能
function makeArray<T>(obj: T): T[] {
return [obj];
}
我可以很容易地typeof
用来存储它的类型:
function makeArray<T>(obj: T): T[] {
return [obj];
}
type ArrayMaker = typeof makeArray; // <T>(obj: T) => T[]
超级方便 - 但通用丢失了:
function makeArray<T>(obj: T): T[] {
return [obj];
}
type NumberArrayMaker = typeof makeArray<number>;
// ⬆
// "ERROR: ';' expected."
这是有道理的 - 函数在调用之前不会存储任何通用类型信息(此时它的范围仅限于该单个调用)。不过,我希望能够存储一种表示函数的缩小版本的类型。
是否可以从强制执行特定泛型的函数中创建类型?
解决方案
推荐阅读
- c - “deserializeJson() failed: NoMemory” 带有 ESP8266 的 NodeMcu-Mx 出错
- html - 如何在shopify中更改搜索结果页面!在铬 4 主题
- .net - 如何在 .NET Core 2.1 中获取 API 调用者详细信息?
- reactjs - React Material-UI useTheme 调色板未按预期运行
- javascript - 初学者/我尝试使用 Onclick 取消隐藏元素,但它不起作用
- google-cloud-platform - 使用多级地图时,“.tfvars”中的 Terraform 值将被忽略
- javascript - 如何在反应中从http url获取id
- python - 如何将输入转换为 discord.user 对象?
- java - 如何使用循环简化代码?
- c++ - 为什么编译器不能从可变参数中移动 unique_ptr?