Различия в синтаксисе литерала массива Typescript

Typescript позволяет определить массив с любым синтаксисом:

var myStrArry1: string[] = [];

or

var myStrArry1: Array<string> = [];

Скомпилированный вывод выглядит так же. Обрабатывает ли компилятор их одинаково или есть какие-то особенности, о которых нужно знать?


person Rick    schedule 19.01.2016    source источник
comment
Возможный дубликат типизированных массивов в TypeScript - в чем разница между Array‹Foo› и Foo[]?   -  person user247702    schedule 20.01.2016


Ответы (3)


Обрабатывает ли компилятор их одинаково или есть какие-то особенности, о которых нужно знать?

Они одинаковые. Я предпочитаю синтаксис 1

person basarat    schedule 19.01.2016

Из документации по машинописному тексту они рассматриваются одинаково, один просто сокращенное обозначение для другого. Компилятору все равно, какой из них вы используете.

person Gnarlywhale    schedule 19.01.2016

Это абзац из спецификации TypeScript: https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#3.8.4, который указывает, что оба синтаксиса эквивалентны:

Кроме того, типы массивов могут быть записаны с использованием нотации Array<T>. Например, приведенные выше типы эквивалентны

Array<string | number> Array<() => string>

person Martin Vseticka    schedule 19.01.2016