2013-07-16 23 views
13

Come creare un array tipizzato in TypeScript 0.9.0.1? In 0.8.x.x, ho creato una matrice tipizzata come questo:Creazione di un array tipizzato in TypeScript 0.9.0.1

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

Ma in TypeScript 0.9.0.1, ottengo questo errore:

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

E se provo seguente modo:

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

I ricevi un altro errore Quindi, qual è il modo corretto per creare un array tipizzato in TypeScript?

risposta

5

lo fate come questo ... Solo il tipo di annotazione ha bisogno del tipo:

var myArray: MyClass[] = []; 

Questo trucchi quasi tutti in un primo momento - così la tua domanda è un buon compromesso.

23

Dal dattiloscritto 0.9 è possibile utilizzare farmaci generici e farlo in questo modo:

var myArray = new Array<MyClass>(); 

O come questo (TS 0.9 e sotto):

var myArray: MyClass[] = []; 

e questo dovrebbe funzionare anche (tramite operazione fusione):

var myArray = <MyClass[]>[]; 

Personalmente mi piace il secondo e il primo modo.

+1

come lo si dichiara come campo? come questo? : ** states: Array = []; ** – FutuToad

+0

** states: Array = new Array ; ** non funziona – FutuToad

+0

@FutuToad Prova 'private a: T [] = []'. – nikeee

Problemi correlati