2013-07-16 9 views
13

Jak utworzyć tablicę z typowaniem w TypeScript 0.9.0.1? W 0.8.x.x, stworzyłem wpisane tablicę takiego:Tworzenie wpisanej tablicy w TypeScript 0.9.0.1

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

Ale w TypeScript 0.9.0.1, otrzymuję ten błąd:

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

A jeśli próbuję następujący sposób:

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

I dostaję kolejny błąd. Jaki jest więc właściwy sposób tworzenia tablicy maszynowej w TypeScript?

Odpowiedz

5

Robisz to tak ... Tylko typ adnotacji potrzebuje typ:

var myArray: MyClass[] = []; 

Te sztuczki niemal wszyscy w pierwszym - więc pytanie jest dobry.

23

Od maszynopis 0,9 można użyć rodzajowych i zrobić to tak:

var myArray = new Array<MyClass>(); 

Albo tak (TS 0,9 i poniżej):

var myArray: MyClass[] = []; 

I to powinno również pracować (przy użyciu operacji Płynny):

var myArray = <MyClass[]>[]; 

Osobiście lubię drugi i pierwszy sposób.

+1

jak zadeklarować to jako pole? lubię to? : ** states: Array = []; ** – FutuToad

+0

** states: Array = new Array ; ** nie działa – FutuToad

+0

@FutuToad Wypróbuj 'private a: T [] = []'. – nikeee