Создание типированного массива в TypeScript 0.9.0.1 - программирование

Создание типированного массива в TypeScript 0.9.0.1

Как создать типизированный массив в 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?

4b9b3361

Ответ 1

Так как TypeScript 0.9 вы можете использовать generics и делать это так:

var myArray = new Array<MyClass>();

Или как это (TS 0.9 и ниже):

var myArray: MyClass[] = [];

И это также должно работать (с использованием операции литья):

var myArray = <MyClass[]>[];

Мне лично нравится второй и первый.

Ответ 2

Вы делаете это так: только тип аннотации нуждается в типе:

var myArray: MyClass[] = [];

Сначала это срабатывает почти каждый, поэтому ваш вопрос хороший.