Os enums (enumerações) são um recurso importante em TypeScript que permitem definir um conjunto de valores nomeados. Elas são especialmente úteis quando você tem um conjunto fixo de valores que são semanticamente relacionados e deve garantir que esses valores sejam usados de forma consistente em seu código.
// Enum para representar os tipos de gênero
enum Gender {
MALE = "Male",
FEMALE = "Female",
OTHER = "Other"
}
// Tipo para representar uma pessoa
type Person = {
name: string;
age: number;
gender: Gender;
};
// Função que exibe informações sobre uma pessoa
function displayPersonInfo(person: Person): void {
console.log(`Name: ${person.name}`);
console.log(`Age: ${person.age}`);
console.log(`Gender: ${person.gender}`);
}
// Criando objetos do tipo Person
const person1: Person = {
name: "Alex",
age: 30,
gender: Gender.OTHER
};
const person2: Person = {
name: "Emily",
age: 25,
gender: Gender.FEMALE
};
// Exibindo informações sobre as pessoas
console.log("Person 1:");
displayPersonInfo(person1);
console.log("Person 2:");
displayPersonInfo(person2);
Gender
para representar os tipos de gênero. Ele possui três membros: MALE
, FEMALE
e OTHER
, cada um associado a uma string correspondente.Person
que representa a estrutura de uma pessoa. Ele possui três propriedades: name
(nome da pessoa, do tipo string), age
(idade da pessoa, do tipo number) e gender
(gênero da pessoa, do tipo Gender
, que é o enum definido anteriormente).displayPersonInfo
que recebe um argumento do tipo Person
e exibe informações sobre a pessoa no console, incluindo nome, idade e gênero.person1
e person2
, do tipo Person
, cada um representando uma pessoa com informações diferentes, incluindo nome, idade e gênero. O gênero é definido usando os membros do enum Gender
.displayPersonInfo
duas vezes, uma vez para person1
e outra para person2
, para exibir as informações sobre essas duas pessoas no console.