===== 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 будет описан чуть позже, в разделе продвинутых типов.