ExpertiDict

TypeScript · Essencial · Inglês · Técnico

Record

/ˈɹɛkɚd/substantivo

Utility type Record<K, V>, que cria um tipo de objeto com chaves K e valores V. Quando K é uma união literal, exige uma entrada para cada chave.

Onde usar

Usado em dicionários e tabelas de lookup, como Record<string, number> ou Record<Status, string> para dar um rótulo a cada status. Se esquecer um status, o compilador reclama.

Em código

type Status = 'novo' | 'pago' | 'enviado';
const rotulo: Record<Status, string> = {
  novo: 'Novo',
  pago: 'Pago',
  enviado: 'Enviado',
};
const t = rotulo['pago']; // string

Exemplos

Type the lookup table as a Record of status to label.

Tipe a tabela de consulta como um Record de status para rótulo.

Record with a union key forces you to cover every case.

Record com chave em união obriga a cobrir todos os casos.

Cuidado

Com K = string, ler uma chave inexistente devolve undefined em runtime, mas o tipo diz V, a menos que noUncheckedIndexedAccess esteja ligado.

Sinônimos

dicionário tipado

Veja também

Todos os termos de TypeScript