O que são Type Aliases e Como Eles Funcionam?
Na lição anterior, você aprendeu como trabalhar com tipos union. Uma forma comum de trabalhar com tipos union é usar um alias de tipo.
Um alias de tipo é um nome para um tipo. Aqui está um exemplo de como fornecer um nome para um tipo união:
type ID = number | string;
Frequentemente em seus projetos, você criará aliases de tipo e os usará em todo o seu programa assim:
type ID = number | string;
type User = {
id: ID;
name: string;
};
function getUserId(user: User): ID {
return user.id;
}
Este exemplo usa dois tipos chamados ID e User. ID seria um tipo união para number ou string enquanto User é um tipo objeto com propriedades id e name. O id é especificado com o tipo ID enquanto o name tem o tipo string.
A getUserId função tem um parâmetro chamado user e seu tipo é User. O tipo de retorno para a getUserId função seria ID.
Aliases de tipo são uma ótima forma de descrever a forma de um objeto. É comum criar tipos de objeto e usá-los em arrays assim:
type User = {
id: number | string;
name: string;
};
const users: User[] = [
{ id: 101, name: "Alice" },
{ id: "A102", name: "Bob" },
{ id: 103, name: "Charlie" }
];
Neste exemplo, o users array deve ser preenchido apenas com objetos User. Se você esquecer uma propriedade em um dos objetos, então o TypeScript gerará um erro como este:
type User = {
id: number | string;
name: string;
};
const users: User[] = [
// Property 'name' is missing in type '{ id: number; }' but required in type 'User'.
{ id: 101 },
{ id: "A102", name: "Bob" },
{ id: 103, name: "Charlie" }
];
Você pode ter notado o uso de PascalCase quando se trata de nomear os aliases de tipo. Isso ocorre porque, por convenção, usar PascalCase ajuda a distinguir tipos de variáveis. Também ajuda na legibilidade. Quando você vê User[], saberá que é um array de objetos do tipo User.Este módulo não possui perguntas. Marque como concluído.