在Typescript中的数组<Type> VS Type

据我所知,一个属性的types可以通过两种方式来定义。

property_name: type 

哪里types可以是

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

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

这两种情况有什么区别 ? 或者我误解了一些东西(也许是关于铸造中使用的东西?)

编辑,因为问题标记为重复,我知道有任何[]的其他问题,但我仍然看过它发布之前,对我来说这是更多的types'任何'比不同的[] VS < >我问

没有区别。 这相当于写:

 function loggingIdentity<T>(arg: T[]): T[] { console.log(arg.length); // Array has a .length, so no more error return arg; } 

要么:

 function loggingIdentity<T>(arg: Array<T>): Array<T> { console.log(arg.length); // Array has a .length, so no more error return arg; } 

来源: 手册 。

 foo: Array 

意味着它是一个普通数组,其成员隐含anytypes

 foo: string[] 

意味着它是一个string数组,也就是说,如果您尝试将除string之外的其他string推送到该数组中,TypeScript将变得精神错乱。