Trabalhando com matrizes e tuplas TypeScript

O TypeScript estende o JavaScript com recursos de tipo adicionais, facilitando o trabalho com estruturas de dados complexas, como arrays e tuplas. Este guia apresentará arrays e tuplas no TypeScript, incluindo como defini-los, manipulá-los e usá-los efetivamente.

Matrizes TypeScript

Arrays em TypeScript são similares a arrays em JavaScript, mas vêm com o benefício adicional de anotações de tipo. Isso garante que todos os elementos no array estejam em conformidade com um tipo específico.

Definindo matrizes

Para definir uma matriz em TypeScript, você especifica o tipo de seus elementos seguido por []:

let numbers: number[] = [1, 2, 3, 4, 5];
let names: string[] = ["Alice", "Bob", "Charlie"];

Neste exemplo, números é uma matriz de número e nomes é uma matriz de string.

Métodos de matriz

Os arrays TypeScript suportam vários métodos semelhantes aos arrays JavaScript. Aqui estão alguns métodos comuns:

  • push(): Adiciona um elemento ao final do array.
  • pop(): Remove o último elemento do array.
  • shift(): Remove o primeiro elemento do array.
  • unshift(): Adiciona um elemento ao início do array.
  • map(): Cria uma nova matriz aplicando uma função a cada elemento.

Exemplo de matriz

let numbers: number[] = [1, 2, 3, 4, 5];
numbers.push(6); // [1, 2, 3, 4, 5, 6]
let doubled = numbers.map(n => n * 2); // [2, 4, 6, 8, 10, 12]

Tuplas TypeScript

Tuplas são um tipo especial de array em TypeScript onde cada elemento pode ter um tipo diferente. Tuplas são úteis quando você precisa trabalhar com um número fixo de elementos de tipos variados.

Definindo Tuplas

Para definir uma tupla, use colchetes [] com tipos especificados para cada elemento:

let person: [string, number] = ["Alice", 30];

Neste exemplo, pessoa é uma tupla onde o primeiro elemento é uma string e o segundo elemento é um número.

Acessando elementos de tupla

Acesse elementos de tupla usando seu índice, semelhante a matrizes:

let person: [string, number] = ["Alice", 30];
let name = person[0]; // "Alice"
let age = person[1]; // 30

Tupla com elementos opcionais

As tuplas também podem incluir elementos opcionais:

let person: [string, number?] = ["Alice"];
let personWithAge: [string, number?] = ["Bob", 30];

Neste exemplo, o segundo elemento na tupla é opcional.

Conclusão

Os arrays e tuplas do TypeScript oferecem maneiras poderosas de manipular coleções de dados com forte segurança de tipo. Ao entender como definir, manipular e usar arrays e tuplas, você pode escrever um código mais robusto e sustentável. Use arrays para listas de dados homogêneos e tuplas para coleções de tamanho fixo com dados heterogêneos.