0Pricing
TypeScript Academy · Aula

Remapeamento de chaves com as em tipos mapeados

Renomeie chaves durante a transformação dos tipos

Remapeamento de chaves com as em tipos mapeados é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 4 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

O TypeScript 4.1 adicionou a cláusula `as` aos tipos mapeados, permitindo remapear (renomear) chaves como parte da transformação do tipo.

Remapeamento básico de chaves

Adicione `as NewKeyType` após a variável da chave para remapeá-la para um novo nome de chave.
type Prefixed<T> = {
  [K in keyof T as `prefix_${string & K}`]: T[K]
};
type P = Prefixed<{ name: string }>;
// { prefix_name: string }

Filtrando chaves com never

Retorne never na cláusula `as` para remover essa chave do tipo resultante.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Gerando nomes de acessadores de leitura

Use Capitalize com tipos de literal de modelo para gerar nomes de métodos de leitura.
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};
type UserGetters = Getters<{ name: string; age: number }>;
// { getName: () => string; getAge: () => number }

Gerando nomes de acessadores de escrita

Da mesma forma, gere nomes de métodos de escrita para as propriedades de um tipo.
type Setters<T> = {
  [K in keyof T as `set${Capitalize<string & K>}`]: (val: T[K]) => void
};

Invertendo um tipo Record

Troque as chaves e os valores usando o remapeamento de chaves.
type Invert<T extends Record<string, string>> = {
  [K in keyof T as T[K]]: K
};

Remapeamento condicional de chaves

Aplique transformações de chave diferentes com base no tipo do valor.
type MethodKeys<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K]
};

Combinando com literais de modelo

Use tipos de literal de modelo no remapeamento para gerar chaves com namespace.
type Namespaced<T, NS extends string> = {
  [K in keyof T as `${NS}::${string & K}`]: T[K]
};

Mapeando chaves de símbolo

Com o remapeamento de chaves, também é possível trabalhar com chaves de símbolo.

Prática: tipo FormData

Derive um objeto de formulário com valores de texto a partir de um modelo de dados tipado.
type FormFields<T> = {
  [K in keyof T as K extends string ? K : never]: string
};

Combinando as com tipos condicionais

O remapeamento de chaves e os tipos condicionais podem ser combinados para criar transformações de tipos altamente expressivas.

Verificação rápida

O que retornar `never` na cláusula `as` de um tipo mapeado faz com essa chave?

Recapitulação

A cláusula `as` em tipos mapeados permite renomear, filtrar (por meio de never) e transformar chaves usando literais de modelo e condicionais. Ela possibilita padrões poderosos, como a geração de acessadores de leitura e escrita e a filtragem de propriedades pelo tipo do valor.

Perguntas Frequentes

A aula “Remapeamento de chaves com as em tipos mapeados” é grátis?

Sim — o texto completo de “Remapeamento de chaves com as em tipos mapeados” é 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 “Remapeamento de chaves com as em tipos mapeados”?

Renomeie chaves durante a transformação dos tipos 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 4 de 4.

Quanto tempo leva a aula “Remapeamento de chaves com as em tipos mapeados”?

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. Tipos mapeados: transformando tipos de objetos
  2. Modificadores em tipos mapeados: readonly e ?
  3. Tipos literais de modelo: padrões de texto
  4. Remapeamento de chaves com as em tipos mapeados
← Voltar para TypeScript Academy