什么是打字稿中两个数组着作之间的区别

时间:2015-05-14 15:01:01

标签: javascript arrays generics typescript

  

TypeScript与JavaScript一样,允许您使用值数组。   数组类型可以用两种方式之一编写。在第一个,你使用   元素的类型后跟' []'表示一个数组   元素类型:

var list:number[] = [1, 2, 3];
  

第二种方式使用通用数组类型Array:

var list:Array<number> = [1, 2, 3];

这两种语法有什么区别吗?有两种方法可以写出这些吗?(我知道泛型是其他语言中的东西,但我从来没有在任何过去的语言中使用泛型)。

Documentation

1 个答案:

答案 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模式的简写而存在。