2016-01-19 3 views
2

Машинопись позволяет определить массив либо с синтаксисом:Различия в Машинопись массива буквального синтаксиса

var myStrArry1: string[] = []; 

или

var myStrArry1: Array<string> = []; 

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

+2

Возможный дубликат - (HTTP [типизированных массивов в машинописном, что представляет собой разницу между массивом и Foo \ [\]?]: // StackOverflow. ком/вопросы/21357424/набраны-массивы-в-машинописи-что-это-разностной-между-arrayfoo-и-обув) – Stijn

ответ

3

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

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

2

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

1

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

Альтернативно, типы массивов можно записать с помощью Array<T> обозначения. Например, типы выше эквивалентны

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

Смежные вопросы