为什么会这样:
interface MyInterface{
aggregate: (Array) => Array<string>;
}
但不是这样:
interface MyInterface{
aggregate: (Array<string>) => Array<string>;
}
答案 0 :(得分:3)
因为第一个没有做它看起来做的事情。您的意图可能是定义一个类型为Array
的参数的函数。实际上,您使用类型为任何
Array
的参数定义了一个函数
如果您没有指定参数类型,则假定它们为any
。如果您指定noImplicitAny
标志,则可以向您发出警告。
答案 1 :(得分:2)
请阅读handbook。
TypeScript不支持单独编写函数参数类型,您必须提供其参数名称。
interface MyInterface{
aggregate: (args: Array<string>) => Array<string>;
}