0Pricing
TypeScript Academy · Aula

Record: mapeando chaves para tipos de valores

Crie tipos semelhantes a dicionários com Record

Record: mapeando chaves para tipos de valores é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.

Boas-vindas

Record cria um tipo de objeto com chaves específicas K e um tipo de valor uniforme V. Ele substitui a digitação manual de cada chave em estruturas semelhantes a dicionários.

Sintaxe básica de Record

Passe um tipo de chave e um tipo de valor para Record.
type Roles = Record<'admin' | 'user' | 'guest', boolean>;
const access: Roles = { admin: true, user: true, guest: false };

Record com chaves de string

Use `string` como tipo de chave para um dicionário genérico.
const headers: Record<string, string> = {
  'content-type': 'application/json',
  'authorization': 'Bearer token'
};

Record para tabelas de consulta

Record é ideal para tabelas de consulta nas quais você associa identificadores ou códigos a valores.
const statusLabels: Record<number, string> = {
  200: 'OK',
  404: 'Not Found',
  500: 'Server Error'
};

Como Record é implementado

Record é um tipo mapeado sobre a união de chaves.
type Record<K extends string | number | symbol, V> = { [P in K]: V };

Record versus assinatura de índice

Record equivale a `{ [key: string]: V }`, mas é mais legível e combinável.
// Equivalent:
type A = Record<string, number>;
type B = { [key: string]: number };

Record com valores de união

O tipo do valor pode ser uma união ou um tipo complexo.
type Config = Record<'development' | 'staging' | 'production', { url: string; debug: boolean }>;

Record parcial

Combine com Partial para permitir que nem todas as chaves estejam presentes.
type OptionalConfig = Partial<Record<'debug' | 'verbose' | 'trace', boolean>>;

Record somente leitura

Combine com Readonly para impedir alterações.
const CODES: Readonly<Record<string, number>> = { A: 1, B: 2 };

Record para agrupamento

Use Record para agrupar itens por uma chave de categoria.
function groupBy<T>(items: T[], key: keyof T): Record<string, T[]> {
  return items.reduce((acc, item) => {
    const k = String(item[key]);
    (acc[k] ??= []).push(item);
    return acc;
  }, {} as Record<string, T[]>);
}

Record com chaves de enumeração

Os valores de enumeração podem ser usados como chaves de Record.
enum Color { Red = 'RED', Green = 'GREEN', Blue = 'BLUE' }
const hexCodes: Record<Color, string> = {
  [Color.Red]: '#FF0000',
  [Color.Green]: '#00FF00',
  [Color.Blue]: '#0000FF',
};

Verificação rápida

O que `Record<'a' | 'b', number>` produz?

Recapitulação

Record cria um dicionário tipado com chaves específicas e tipos de valor uniformes. Use-o para tabelas de consulta, mapas de configuração e resultados de groupBy. Combine-o com Partial e Readonly para obter mais controle.

Perguntas Frequentes

A aula “Record: mapeando chaves para tipos de valores” é grátis?

Sim — o texto completo de “Record: mapeando chaves para tipos de valores” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.

O que vou aprender em “Record: mapeando chaves para tipos de valores”?

Crie tipos semelhantes a dicionários com Record Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar TypeScript Academy?

Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Record: mapeando chaves para tipos de valores”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de TypeScript Academy?

Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Partial e Required: alternando a opcionalidade
  2. Pick e Omit: selecionando propriedades
  3. Record: mapeando chaves para tipos de valores
  4. Readonly, Exclude, Extract, NonNullable
← Voltar para TypeScript Academy