0Pricing
TypeScript Academy · Aula

Aliases de tipos para tipos complexos

Crie nomes de tipos reutilizáveis com a palavra-chave type

Aliases de tipos para tipos complexos é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 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

Os aliases de tipo dão um nome a qualquer expressão de tipo — primitivas, uniões, interseções, tuplas ou objetos. Eles tornam os tipos complexos reutilizáveis e legíveis.

A palavra-chave type

Crie um alias de tipo com `type Name = TypeExpression`. Ele pode ser usado em qualquer lugar onde o tipo original seria usado.
type UserId = number;
type UserName = string;
type Point = { x: number; y: number };

Criando aliases para tipos de união

Dê nomes aos tipos de união complexos para tornar as assinaturas de funções mais legíveis.
type StringOrNumber = string | number;
function format(val: StringOrNumber): string {
  return String(val);
}

Criando aliases para tipos de objeto

Os aliases de tipos de objeto funcionam como as interfaces para descrever estruturas de objetos.
type Product = {
  id: number;
  name: string;
  price: number;
};
const p: Product = { id: 1, name: 'Widget', price: 9.99 };

Criando aliases para tipos de tupla

Dê nomes aos padrões comuns de tupla para não repetir sua estrutura em todos os lugares.
type Coordinate = [number, number];
type RGB = [number, number, number];
const pos: Coordinate = [10, 20];

Criando aliases para tipos de função

Dê nomes às assinaturas de tipo de função para manter as listas de parâmetros organizadas.
type Comparator<T> = (a: T, b: T) => number;
const numSort: Comparator<number> = (a, b) => a - b;

Aliases de tipo podem usar genéricos

Assim como as interfaces, os aliases de tipo oferecem suporte a parâmetros de tipo genéricos.
type Maybe<T> = T | null | undefined;
type Pair<A, B> = { first: A; second: B };

Aliases de tipo autorreferentes

Os aliases de tipo podem referenciar a si mesmos para estruturas de dados recursivas, como árvores e listas encadeadas.
type TreeNode = {
  value: number;
  left?: TreeNode;
  right?: TreeNode;
};

Aliases de tipo não podem ser reabertos

Ao contrário das interfaces, os aliases de tipos não podem ser estendidos com declarações adicionais após sua definição. Eles são fixos.
// Interface can be merged (declaration merging):
interface A { x: number; }
interface A { y: number; } // OK — A now has x and y

// Type alias cannot:
type B = { x: number };
// type B = { y: number }; // Error: duplicate identifier

União discriminada com aliases de tipos

Os aliases de tipos são excelentes para uniões discriminadas — um padrão que combina tipos de união com uma propriedade literal compartilhada.
type Success = { kind: 'success'; data: string };
type Failure = { kind: 'failure'; error: Error };
type Result = Success | Failure;

Quando preferir tipo a interface

Utilize `type` para uniões, tuplas, assinaturas de funções e quando precisar criar tipos calculados complexos. Utilize `interface` para estruturas de objetos que possam ser estendidas ou implementadas.

Verificação rápida

Qual recurso `interface` oferece que os aliases de tipos NÃO oferecem?

Recapitulação

Os aliases de tipos dão nome a qualquer expressão de tipo, incluindo uniões, tuplas, objetos e funções. Eles oferecem suporte a genéricos e recursão. Ao contrário das interfaces, não podem ser reabertos após a definição.

Perguntas Frequentes

A aula “Aliases de tipos para tipos complexos” é grátis?

Sim — o texto completo de “Aliases de tipos para tipos complexos” é 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 “Aliases de tipos para tipos complexos”?

Crie nomes de tipos reutilizáveis com a palavra-chave type 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 4.

Quanto tempo leva a aula “Aliases de tipos para tipos complexos”?

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. Definindo formatos de objetos com interfaces
  2. Aliases de tipos para tipos complexos
  3. Extensão e mesclagem de interfaces
  4. Interface versus type: quando utilizar cada um
← Voltar para TypeScript Academy