Создание типированного массива в 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?
Ответы
Ответ 1
Так как TypeScript 0.9 вы можете использовать generics и делать это так:
var myArray = new Array<MyClass>();
Или как это (TS 0.9 и ниже):
var myArray: MyClass[] = [];
И это также должно работать (с использованием операции литья):
var myArray = <MyClass[]>[];
Мне лично нравится второй и первый.
Ответ 2
Вы делаете это так: только тип аннотации нуждается в типе:
var myArray: MyClass[] = [];
Сначала это срабатывает почти каждый, поэтому ваш вопрос хороший.