Arrays e Tuples
Um array tipado funciona exatamente como um array JavaScript, mas sua anotação de tipo trava que tipo de valores ele pode conter — string[] significa um array de strings, e o TypeScript vai sinalizar qualquer outra coisa que acabe ali.
let fruits: string[] = ["apple", "banana", "cherry"];
console.log(fruits);
console.log(fruits[0]);
fruits.push("date");
console.log(fruits);[ 'apple', 'banana', 'cherry' ] apple [ 'apple', 'banana', 'cherry', 'date' ]
Tuples — comprimento fixo, tipos fixos, sem equivalente em JavaScript
Um tuple é um array com comprimento fixo onde cada posição tem seu próprio tipo específico — a posição 0 pode sempre ser um string, a posição 1 sempre um number. Arrays JavaScript puros não têm esse conceito de forma alguma; ele existe puramente no sistema de tipos do TypeScript.
let point: [number, number] = [3, 4];
console.log(point);
let person: [string, number] = ["Alice", 30];
console.log(`${person[0]} is ${person[1]} years old`);[ 3, 4 ] Alice is 30 years old
Em tempo de execução, um tuple é apenas um array comum — a distinção só existe enquanto você está escrevendo o código. Tente atribuir um string a point[0], e o TypeScript te impede antes mesmo de rodar.
A seguir: objects e interfaces — descrever o formato de um objeto, não só de um único valor.