在Typescript中的数组<type> VS Type []

时间:2016-04-25 13:34:09

标签: typescript

据我所知,属性的类型可以用两种方式定义。

property_name: type

其中type可以是

Array<string>, Array<MyType>, etc. (e.g. let prop1: Array<string>)

string[], MyType[], etc. (e.g. let prop1: string[])

两种情况之间差异是什么?或者我误解了某些东西(可能是关于&lt;&gt;在铸造中使用的东西?)

编辑,因为问题被标记为重复,我知道有关于任何[]的其他问题,但我仍然在发布之前看过它,而且对我而言更多的是关于类型'any'比不同的[] VS&lt;&gt;我问了

2 个答案:

答案 0 :(得分:90)

没有区别。它相当于写:

function loggingIdentity<T>(arg: T[]): T[] {
    console.log(arg.length);
    return arg;
}

或者:

function loggingIdentity<T>(arg: Array<T>): Array<T> {
    console.log(arg.length);
    return arg;
}

来源:the Handbook

答案 1 :(得分:-8)

foo: Array

表示它是一个普通数组,其成员具有隐式any类型

foo: string[]

意味着它是一个字符串数组,即如果您尝试将除字符串以外的任何内容推送到该数组中,TypeScript将会变得精神错乱。