【发布时间】:2023-01-07 00:52:08
【问题描述】:
我有以下功能:
function foo<T>(param: T){
return 1
}
我想用一种类型来引用它:
const fooBool = foo<boolean>;
这导致错误 SyntaxError: '(' expected.
我的目标是为了防止每次我想调用函数的布尔版本时都写 foo<boolean(...) 。 问题
问题:有没有其他方法可以缩短调用函数的布尔版本的方式?
编辑:解决方案:
抛出错误是因为我使用的是 Typescript 4.6.3。
显然我的代码非常适合 Typescript 版本 >= 4.7。
编辑:问题编辑器的注释
我感谢你的努力,但是
-
请保持标题不变。它表达了我想要达到的目标。 IE。这种措辞可能是不知情的人可能会搜索的内容。
-
请不要将我的问题更改为完全不同的问题。
【问题讨论】:
-
您的 TypeScript 版本已过时。这些被称为实例化表达式并在version 4.7 中发布。更新您的版本,错误应该消失。
-
我认为在版本 <4.7 中不可能有这样的事情(这就是添加它的原因)。您可以使用包装器(例如
(v: boolean) => foo(v))或复制foo的类型并将通用参数替换为boolean,但仅此而已......
标签: typescript