2013-07-16 36 views
13

Cách tạo mảng đã nhập trong TypeScript 0.9.0.1? Trong 0.8.x.x, tôi đã tạo ra một mảng gõ như thế này:Tạo mảng đã nhập trong TypeScript 0.9.0.1

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

Nhưng trong TypeScript 0.9.0.1, tôi nhận được lỗi này:

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

Và nếu tôi cố gắng theo cách sau:

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

tôi gặp lỗi khác. Vì vậy, cách chính xác để tạo một mảng đã gõ trong TypeScript là gì?

Trả lời

5

Bạn làm điều đó như thế này ... Chỉ có loại chú thích cần loại:

var myArray: MyClass[] = []; 

này thủ đoạn gần như tất cả mọi người lúc đầu - vì vậy câu hỏi của bạn là một trong những tốt.

23

Kể từ nguyên cảo 0.9 bạn có thể sử dụng Generics và làm điều đó như thế này:

var myArray = new Array<MyClass>(); 

Hoặc như thế này (TS 0.9 trở xuống):

var myArray: MyClass[] = []; 

Và điều này cũng nên làm việc (sử dụng hoạt động diễn viên):

var myArray = <MyClass[]>[]; 

Cá nhân tôi thích thứ hai và cách đầu tiên.

+1

làm cách nào bạn khai báo nó dưới dạng một trường? như thế này? : ** states: Array = []; ** – FutuToad

+0

** bang: Array = new Array ; ** không hoạt động – FutuToad

+0

@FutuToad Hãy thử 'private a: T [] = []'. – nikeee

Các vấn đề liên quan