Tuple #

Тип Tuple дает вам возможность объявить массив с известным фиксированным количеством элементов, которые не обязаны быть одного типа. Например, вы хотите иметь значение Tuple как пару «строка» и «число»:

// Объявление типа tuple
let x: [string, number];
// Его инициализация
x = ['hello', 10]; // OK
// Некорректная инициализация вызовет ошибку
x = [10, 'hello']; // Error

Когда вы получаете элемент с известным идексом, будет возвращен тип этого элемента:

console.log(x[0].substr(1)); // OK
console.log(x[1].substr(1)); // Error, 'number' does not have 'substr'

При получении элемента с идексом вне известного диапазона, будет возвращен тип Union:

x[3] = 'world'; // OK, тип string может быть присвоен (string | number)
 
console.log(x[5].toString()); // OK, 'string' и 'number' оба имеют метод toString
 
x[6] = true; // Ошибка, boolean это не (string | number)

Тип Union будет описан чуть позже, в разделе продвинутых типов.