Da trilha de TypeScript Este conceito ainda não saiu como card do dia. ir para o card de hoje

TypeScript Coleções Básico

Arrays e tuplas

Em TypeScript, arrays são coleções de elementos do mesmo tipo, representados por T[] ou Array<T>. Diferente de JavaScript, o tipo do array é verificado em tempo de compilação, evitando misturar tipos incompatíveis.

Tuplas são arrays com tipo e quantidade fixos de elementos, onde cada posição pode ter um tipo diferente. Por exemplo, [string, number] representa um par de string e número. Tuplas nomeadas permitem rotular cada posição, melhorando a legibilidade: [nome: string, idade: number].

Arrays e tuplas podem ser declarados como readonly, impedindo alterações após a criação. Isso é útil para garantir imutabilidade e evitar efeitos colaterais indesejados.

Neste card, você aprenderá a declarar arrays e tuplas, usar tipos nomeados e aplicar readonly para proteger seus dados.

Pontos-chave

  • Arrays em TypeScript são tipados: number[] ou Array<number>.
  • Tuplas têm tamanho fixo e tipos específicos por posição.
  • Tuplas nomeadas adicionam rótulos para clareza: [x: number, y: number].
  • readonly impede mutações em arrays e tuplas.
  • Use as const para inferir tuplas literais imutáveis.
arrays_tuplas.ts
// Array tipado: só números
const numeros: number[] = [1, 2, 3];
// Array genérico: mesma coisa
const frutas: Array<string> = ['maçã', 'banana'];

// Tupla: primeiro string, segundo number
let pessoa: [string, number] = ['Ana', 30];
// Tupla nomeada: rótulos para clareza
let ponto: [x: number, y: number] = [10, 20];

// Array readonly: não pode ser modificado
const somenteLeitura: readonly number[] = [1, 2, 3];
// somenteLeitura.push(4); // Erro de compilação

// Tupla readonly com as const
const config = ['localhost', 8080] as const;
// config[0] = 'outro'; // Erro

console.log(numeros);
console.log(frutas);
console.log(pessoa);
console.log(ponto);
console.log(somenteLeitura);
console.log(config);

Exercícios

  1. 1
    Fácil

    Declarando um array tipado

    Crie um array chamado cores que contenha exatamente as strings 'vermelho', 'verde' e 'azul'. Em seguida, imprima o array no console.

    Resolver
  2. 2
    Médio

    Tupla nomeada para coordenadas

    Crie uma tupla nomeada coordenada que represente um ponto no plano cartesiano, com as posições x e y do tipo number. Atribua os valores 5 e 10 e imprima a tupla.

    Resolver
  3. 3
    Desafio

    Array readonly com validação

    Crie uma função somarTodos que recebe um readonly number[] e retorna a soma de todos os elementos. Em seguida, crie um array readonly com os números 1, 2, 3, 4, 5 e use a função para calcular a soma. Imprima o resultado.

    Resolver

Continue estudando