键入的数组作为函数参数不可能 - 为什么?

时间:2018-02-07 09:23:09

标签: typescript

为什么会这样:

interface MyInterface{

    aggregate: (Array) => Array<string>;
}

但不是这样:

interface MyInterface{

    aggregate: (Array<string>) => Array<string>;
}

2 个答案:

答案 0 :(得分:3)

因为第一个没有做它看起来做的事情。您的意图可能是定义一个类型为Array的参数的函数。实际上,您使用类型为任何

的名为Array的参数定义了一个函数

如果您没有指定参数类型,则假定它们为any。如果您指定noImplicitAny标志,则可以向您发出警告。

答案 1 :(得分:2)

请阅读handbook

TypeScript不支持单独编写函数参数类型,您必须提供其参数名称。

interface MyInterface{

    aggregate: (args: Array<string>) => Array<string>;
}