Skip to content

Arrays e Tuplas

TypeScript oferece formas poderosas de definir e manipular arrays e tuplas, permitindo aos desenvolvedores manter um código mais seguro e organizado. Vamos explorar como você pode trabalhar com esses tipos de dados.

Arrays

Arrays em TypeScript são similares aos arrays em JavaScript, mas com a adicional capacidade de especificar o tipo dos elementos que o array pode conter.

Definindo Arrays:

Para definir um array em TypeScript, você pode utilizar uma das duas notações: o tipo seguido de [] ou a utilização de genéricos com Array<tipo>.

Exemplo:

typescript
// Definindo um array de números usando colchetes
let numeros: number[] = [1, 2, 3, 4, 5];

// Definindo um array de strings usando a notação de genéricos
let frutas: Array<string> = ["Maçã", "Banana", "Laranja"];

Em ambos os casos, TypeScript verifica se os valores atribuídos ao array correspondem ao tipo definido, o que ajuda a prevenir erros, como a inserção acidental de um tipo de dado errado.

Manipulação de Arrays:

Você pode usar todos os métodos de array disponíveis em JavaScript, como push, pop, map, filter, entre outros, mantendo a tipagem segura durante as operações.

typescript
// Adicionando um item ao array de números
numeros.push(6);

// Aplicando uma função em cada elemento do array de frutas
let frutasMaiusculas = frutas.map((fruta) => fruta.toUpperCase());

Tuplas

Tuplas são um tipo especial de array onde o número de elementos e o tipo de cada elemento são conhecidos e especificados.

Definindo Tuplas:

Você define uma tupla especificando o tipo de cada um de seus elementos dentro de colchetes.

Exemplo:

typescript
// Definindo uma tupla onde o primeiro elemento é um string e o segundo um número
let endereco: [string, number] = ["Rua Principal", 123];

// Definindo uma tupla com vários tipos diferentes
let informacoes: [string, number, boolean] = ["Alice", 28, true];

Utilização de Tuplas:

Tuplas são úteis quando você precisa agrupar um número fixo de elementos relacionados, mas de tipos diferentes, garantindo que cada posição no array tenha um tipo pré-determinado.

typescript
// Acessando elementos de uma tupla
let rua = endereco[0]; // Tipo inferido como string
let numero = endereco[1]; // Tipo inferido como number

Restrições e Extensões em Tuplas:

TypeScript também suporta tuplas com elementos opcionais e rest parameters, o que permite uma certa flexibilidade sem perder a segurança dos tipos.

typescript
// Tupla com elementos opcionais
let pessoa: [string, number?, string?] = ["João"];

// Tupla com rest parameters
let dados: [string, ...number[]] = ["Soma", 1, 2, 3, 4];

Conclusão

Arrays e tuplas são fundamentais para estruturar dados em TypeScript. Enquanto arrays oferecem um meio flexível para colecionar elementos do mesmo tipo, tuplas proporcionam uma maneira de agrupar um número fixo de elementos com tipos possivelmente diferentes. Ambos são essenciais para a escrita de programas robustos e bem tipados em TypeScript, oferecendo um controle detalhado e seguro sobre os dados em suas aplicações.