gpt4 book ai didi

typescript - TypeScript 中的高阶类型函数?

转载 作者:行者123 更新时间:2023-12-04 11:07:04 26 4
gpt4 key购买 nike

请考虑以下伪代码,尝试使用函数类型参数 M<?> 定义高阶类型函数:

type HigherOrderTypeFn<T, M<?>> = T extends (...)
? M<T>
: never;
M<?>是语法错误的 TypeScript,但将类型签名声明为 HigherOrderTypeFn<T, M>产生错误 Type 'M' is not generic. ts(2315)在第二行。

假设这种类型目前在 TS 中无法表示,我是否正确?

最佳答案

你是对的,它目前无法在 TypeScript 中表示。有一个长期开放的 GitHub 功能请求,microsoft/TypeScript#1213 ,它的标题可能应该是“支持更高级的类型”,但目前的标题是“允许类在其他参数类中具有参数”。

关于如何在当前语言中模拟此类更高级类型的讨论中有一些想法(请参阅 this comment 的具体示例),但在我看来,它们可能不属于生产代码。如果您有一些要实现的特定结构,也许可以建议一些合适的内容。

但无论如何,如果您想增加这种情况发生的可能性(可能可以忽略不计,不幸的是),您可能想要转到该问题并给它一个 👍 和/或描述您的用例,如果您认为它比较特别引人注目已经存在的东西。好的,希望有帮助;祝你好运!

关于typescript - TypeScript 中的高阶类型函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com