2015-01-18 2 views
2

В чем разница между следующие объявления:определения массивов в машинописном

  1. var num1: [number];
  2. var num2: number[];
  3. var num3: Array<number>;

кажется, что num2 и num3 взаимозаменяемы, но как насчет num1?

Какую декларацию следует использовать, когда?

+0

Можете ли вы сделать свой заголовок вопроса более чем просто языком и функцией? С 8,69 миллионами вопросов о переполнении стека, полезно, когда названия действительно описывают вопрос. –

+1

@LightnessRacesinOrbit Я здесь из-за google, где я искал почти ту же строку, что и этот заголовок, и оказался здесь. Так что не согласен. – Clark

+0

@ Кларк: Тебе повезло. Вы также являетесь единственным образцом. Преимущества хорошего, уникального названия вопросов хорошо документированы и само собой разумеются. –

ответ

4

1 - тип кортежа, поэтому в этом случае num1 должен быть 1-элементным массивом, содержащим число. Если вы объявите его как var num1: [number, string, string];, то num1 должен быть 3-элементным массивом, содержащим число, строку и другую строку в этом порядке.

2 и 3 идентичны; не имеет значения, какой из них вы используете.

+0

Сравните сухие страницы документации с первыми двумя строками этого ответа. Я пришел сюда, чтобы увидеть разницу между [] и <> для массивов и в итоге понял типы кортежей. Потрясающие. – Clark

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