Tipos mapeados
Aprenda a transformar tipos existentes em novos usando tipos mapeados, proporcionando flexibilidade ao lidar com estruturas de dados dinâmicas.
Tipos mapeados é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 de 3. 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 3 aulas no total.
Introdução aos tipos mapeados
Introdução aos tipos mapeados
Os tipos mapeados permitem transformar tipos existentes em novos, aplicando operações a cada propriedade de um tipo.
Eles são úteis para criar estruturas de tipos flexíveis e reutilizáveis no TypeScript.

O que são tipos mapeados?
O que são tipos mapeados?
Os tipos mapeados usam uma sintaxe como { [P in keyof T]: T[P] } para iterar sobre as propriedades de um tipo T.
Exemplo básico de tipos mapeados
Exemplo básico de tipos mapeados
Veja um exemplo simples de como usar um tipo mapeado para criar uma versão somente leitura de um tipo:
type User = {
name: string;
age: number;
};
type ReadonlyUser = {
readonly [P in keyof User]: User[P];
};Usando tipos mapeados integrados
Usando tipos mapeados integrados
O TypeScript fornece vários tipos mapeados integrados, como:
Readonly<T>: torna todas as propriedades deTsomente leitura.Partial<T>: torna todas as propriedades deTopcionais.Required<T>: torna todas as propriedades deTobrigatórias.
type User = {
name: string;
age: number;
};
// Example of Partial
const user: Partial<User> = {
name: 'John',
};Mapeamento sobre uniões
Mapeamento sobre uniões
Os tipos mapeados também podem ser usados com tipos de união para criar novos tipos combinados:
type Status = 'active' | 'inactive';
type StatusFlags = {
[K in Status]: boolean;
};
const flags: StatusFlags = {
active: true,
inactive: false,
};Tipos mapeados condicionais
Tipos mapeados condicionais
Você pode usar tipos condicionais com tipos mapeados para criar transformações de tipos mais complexas.
type User = {
name: string;
age?: number;
};
type NonOptional<T> = {
[K in keyof T]-?: T[K];
};
type RequiredUser = NonOptional<User>;Exemplo avançado: exclusão de propriedades
Exemplo avançado: exclusão de propriedades
Veja como criar um tipo mapeado para excluir determinadas propriedades:
type User = {
id: number;
name: string;
password: string;
};
type PublicUser = {
[K in keyof User as Exclude<K, 'password'>]: User[K];
};Tarefa prática
Tarefa prática
Crie um tipo mapeado que adicione o modificador readonly a todas as propriedades de um tipo Product. Teste-o declarando uma variável do novo tipo.
Recapitulação dos tipos mapeados
Parabéns!
Você aprendeu a usar tipos mapeados para transformar tipos existentes em novos tipos dinamicamente. Pratique essas técnicas para tornar seu código TypeScript ainda mais poderoso!

Perguntas Frequentes
A aula “Tipos mapeados” é grátis?
Sim — o texto completo de “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 3 aulas no total.
O que vou aprender em “Tipos mapeados”?
Aprenda a transformar tipos existentes em novos usando tipos mapeados, proporcionando flexibilidade ao lidar com estruturas de dados dinâmicas. 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 2 de 3.
Quanto tempo leva a aula “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
- Tipos Keyof e de consulta
- Tipos mapeados
- Tipos de interseção e união