14

如何在中创建类型化数组TypeScript 0.9.0.1?在0.8.x.x中,我创建了一个像这样的类型化数组:

public myArray: myClass[] = new myClass[];

但是在TypeScript 0.9.0.1,我得到这个错误:

error TS2068: 'new T[]' cannot be used to create an array. Use 'new Array<T>() instead.

如果我尝试以下方式:

public myArray: myClass[] = new myClass<myClass>();

我得到另一个错误。那么,在 TypeScript 中创建类型化数组的正确方法是什么?

4

2 回答 2

25

从 TypeScript 0.9 开始,您可以使用泛型并这样做:

var myArray = new Array<MyClass>();

或者像这样(TS 0.9 及以下):

var myArray: MyClass[] = [];

这也应该有效(使用强制转换操作):

var myArray = <MyClass[]>[];

我个人喜欢第二种和第一种方式。

于 2013-07-16T17:29:32.847 回答
6

You do it like this... Only the type annotation needs the type:

var myArray: MyClass[] = [];

This tricks almost everyone at first - so your question is a good one.

于 2013-07-16T17:25:51.873 回答