【问题标题】:What's the Difference between the two of writings of arrays in typescript打字稿中数组的两种写作有什么区别
【发布时间】:2015-07-26 06:20:36
【问题描述】:

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

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

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

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

这两种语法有什么区别吗?有两种写这些方法的充分理由吗?(我知道泛型在其他语言中是一种东西,但我从未在过去的任何语言中使用过泛型)。

Documentation

【问题讨论】:

  • 我想它是以强类型的方式与 Javascript 保持一致。我的意思是,在 Javascript 中你也可以使用 []new Array()

标签: javascript arrays generics typescript


【解决方案1】:

它们是等价的。 number[] 表单是 Array&lt;number&gt; 泛型的简写。

section 3.7.4 of the spec 中的“数组类型文字”定义为:

数组类型字面量引用具有给定元素类型的数组类型(第 3.3.2 节)。

section 3.3.2 中的“数组类型”描述为:

数组类型是从全局模块中的通用接口类型“Array”创建的命名类型引用,其中数组元素类型作为类型参数。

这说明数组被定义为带有参数的泛型类型。通用是最终版本,但该描述紧随其后:

数组类型文字(第 3.7.4 节)为创建此类引用提供了简写符号。

没有区别,type[] 形式作为使用预先存在的 JS 模式的简写形式存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 2016-09-15
    • 1970-01-01
    • 2014-07-16
    相关资源
    最近更新 更多