我想知道当形式参数名称不必匹配时,注释函数的含义是什么:
let foo: (x:number, y:number) => number = (a:number, b:number) => a+b
我的意思是什么意思(x:number, y:number) => number
?我认为如果可以(number, number) => number
在定义函数类型时编写代码会更有意义,尤其是如果“形式参数名称”不必一定匹配时。
我必须在函数类型中定义类似x
和的名称的原因是什么y
?打字稿不能推断功能类型(a:number, b:number) => number
吗?而且我知道我可以省略显式类型注释,但是就我而言,我一直想要显式类型注释。
考虑一下Array.prototype.map()的声明:
public map(mapper: (value?: T, index?: number, list?: T[]) => any): any[];
您需要变量名,因为它们具有关于方法期望的参数的重要信息,仅类型还不够。如您所说,您可以避免使用类型,但是通过这种方式,您将使用代码为类型提供尽可能多的有关方法的信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句