【发布时间】:2022-04-20 14:20:09
【问题描述】:
据我所知,当属性为数组时,可以通过两种方式定义属性的类型。
property_name: type
类型可以是任何一个
Array<string>, Array<MyType>, etc. (e.g. let prop1: Array<string>)
和
string[], MyType[], etc. (e.g. let prop1: string[])
这两种情况的区别是什么?还是我误解了某些东西(也许是关于铸造中使用的 的东西?)
EDIT 因为该问题被标记为重复,我知道还有关于 any[] 的其他问题,但我在发布之前仍然查看了它,对我来说它更多的是关于类型'any' 比不同的 [] VS 我问过
【问题讨论】:
-
它们实际上是相同的构造,并且在运行时实际上是相同的对象。 Reflect-metadata 也将它们都视为具有
Array对象作为它们的构造函数。请参阅上面的链接答案。 -
@NitzanTomer 这个问题已经过时了——
Array<T>那时还不存在。 -
@NathanShively-Sanders 有或没有泛型,答案都是一样的,因为这个问题可以简化为“
let x: Array;与let x: any[];有什么不同”
标签: typescript