TypeScript与JavaScript一样,允许您使用值数组。 数组类型可以用两种方式之一编写。在第一个,你使用 元素的类型后跟' []'表示一个数组 元素类型:
var list:number[] = [1, 2, 3];
第二种方式使用通用数组类型Array:
var list:Array<number> = [1, 2, 3];
这两种语法有什么区别吗?有两种方法可以写出这些吗?(我知道泛型是其他语言中的东西,但我从来没有在任何过去的语言中使用泛型)。
答案 0 :(得分:3)
它们是等价的。 number[]
表单是Array<number>
通用的简写。
来自section 3.7.4 of the spec的“数组类型文字”定义为:
数组类型文字引用具有给定元素类型的数组类型(第3.3.2节)。
section 3.3.2中的“数组类型”描述为:
数组类型是从全局模块中的通用接口类型“Array”创建的命名类型引用,数组元素类型作为类型参数。
这注意到数组被定义为带有参数的泛型类型。泛型是最终版本,但该描述紧接着是:
数组类型文字(第3.7.4节)提供了创建此类引用的简写表示法。
没有区别,type[]
形式作为使用预先存在的JS模式的简写而存在。