Typescript:这种用于键入函数的键入方法是啥?
Posted
技术标签:
【中文标题】Typescript:这种用于键入函数的键入方法是啥?【英文标题】:Typescript: What is this typing method for typing a function called?Typescript:这种用于键入函数的键入方法是什么? 【发布时间】:2020-10-22 11:12:25 【问题描述】:假设我创建了一个这样的类型:
type FunctionType = (param1: Param1Type, param2: Param2Type) => void;
然后我想用它来输入一个函数:
<FunctionType>function(param1, param2)
// ...do stuff
这是不好的做法吗?我应该输入我的所有功能吗? 我问的原因是我有很多输入相同的函数。所以我试图找到一种更好的方法,而不是输入每个参数并返回。
我喜欢箭头功能(任何人都应该这样做)。有没有办法将这种输入方法转换为箭头函数? (如果这不是好的做法,那么我不会继续)
TLDR:我在其他地方的 SO 问题上看到了这种方法。觉得它看起来很整洁,但我不知道它叫什么或如何将它与箭头函数一起使用
【问题讨论】:
没有强烈的需要创建函数类型除非你打算在高阶函数中使用它们(你想将函数作为参数传递)。 【参考方案1】:尖括号只是一个强制转换,这不是特殊的函数语法。不过,需要注意的语义与注释略有不同。
例如,如果您的函数使用的参数少于FunctionType
,则它是有效的强制转换,但调用具有与FunctionType
相同数量的参数的函数仍然是类型错误,除非您将强制转换的结果分配给变量.我可能还缺少其他东西。
话虽如此,我认为这并不常见,但可能并不可怕。
如果您使用箭头函数,您可以对变量进行注释。这可能是最惯用/最常见的imo
const fn: FunctionType = () =>
如果你没有将它分配给某个东西,或者像 function
语法一样转换它
(<FunctionType> (param1, param2) => )
【讨论】:
以上是关于Typescript:这种用于键入函数的键入方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章