在TypeScript 0.9.0.1中创建类型化数组

dpo*_*oiu 13 typescript

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

public myArray: myClass[] = new myClass[];
Run Code Online (Sandbox Code Playgroud)

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

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

如果我尝试以下方式:

public myArray: myClass[] = new myClass<myClass>();
Run Code Online (Sandbox Code Playgroud)

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

nik*_*eee 25

从TypeScript 0.9开始,您可以使用泛型并执行以下操作:

var myArray = new Array<MyClass>();
Run Code Online (Sandbox Code Playgroud)

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

var myArray: MyClass[] = [];
Run Code Online (Sandbox Code Playgroud)

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

var myArray = <MyClass[]>[];
Run Code Online (Sandbox Code Playgroud)

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


Fen*_*ton 5

你这样做...只有类型注释需要类型:

var myArray: MyClass[] = [];
Run Code Online (Sandbox Code Playgroud)

这一开始几乎每个人都会欺骗 - 所以你的问题很好.