Introducció a les Enumeracions
Les enumeracions (enums) són una característica de TypeScript que permet definir un conjunt de valors amb noms simbòlics. Són útils per representar un conjunt de valors relacionats de manera més llegible i mantenible. Les enumeracions poden ser numèriques o de cadena.
Tipus d'Enumeracions
- Enumeracions Numèriques: Assignen valors numèrics automàticament o manualment.
- Enumeracions de Cadena: Assignen valors de cadena als membres de l'enumeració.
Enumeracions Numèriques
Definició i Ús
Les enumeracions numèriques són les més comunes. Per defecte, els membres de l'enumeració numèrica comencen amb el valor 0 i incrementen en 1 per cada membre següent.
enum Direction { Up, Down, Left, Right } let move: Direction = Direction.Up; console.log(move); // Sortida: 0
Assignació Manual de Valors
També es poden assignar valors específics als membres de l'enumeració.
enum Status { Active = 1, Inactive, Pending } console.log(Status.Active); // Sortida: 1 console.log(Status.Inactive); // Sortida: 2 console.log(Status.Pending); // Sortida: 3
En aquest exemple, Inactive
tindrà el valor 2 i Pending
el valor 3, ja que segueixen el valor inicial assignat a Active
.
Enumeracions de Cadena
Les enumeracions de cadena permeten assignar valors de cadena als membres de l'enumeració.
enum Color { Red = "RED", Green = "GREEN", Blue = "BLUE" } let favoriteColor: Color = Color.Green; console.log(favoriteColor); // Sortida: "GREEN"
Enumeracions Heterogènies
Tot i que no és una pràctica recomanada, TypeScript permet crear enumeracions que barregen valors numèrics i de cadena.
enum MixedEnum { No = 0, Yes = "YES" } console.log(MixedEnum.No); // Sortida: 0 console.log(MixedEnum.Yes); // Sortida: "YES"
Exercicis Pràctics
Exercici 1: Enumeració Numèrica
Defineix una enumeració per representar els dies de la setmana i imprimeix el valor corresponent a "Dimecres".
enum Weekday { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } let midWeek: Weekday = Weekday.Wednesday; console.log(midWeek); // Sortida esperada: 3
Exercici 2: Enumeració de Cadena
Defineix una enumeració per representar els estats d'un procés (Iniciat, En Progrés, Completat) i imprimeix el valor corresponent a "Completat".
enum ProcessState { Started = "STARTED", InProgress = "IN_PROGRESS", Completed = "COMPLETED" } let finalState: ProcessState = ProcessState.Completed; console.log(finalState); // Sortida esperada: "COMPLETED"
Errors Comuns i Consells
- No Assignar Valors Correctament: Assegura't d'assignar valors únics i significatius als membres de l'enumeració.
- Enumeracions Heterogènies: Evita barrejar valors numèrics i de cadena en la mateixa enumeració, ja que pot portar a confusions.
- Ús de Noms Descriptius: Utilitza noms descriptius per als membres de l'enumeració per millorar la llegibilitat del codi.
Resum
Les enumeracions en TypeScript són una eina poderosa per definir conjunts de valors relacionats de manera clara i mantenible. Hem vist com crear enumeracions numèriques i de cadena, així com alguns exemples pràctics per reforçar els conceptes. En el proper tema, explorarem la inferència de tipus en TypeScript.
Curs de TypeScript
Mòdul 1: Introducció a TypeScript
- Què és TypeScript?
- Configuració de l'entorn de TypeScript
- Tipus bàsics
- Anotacions de tipus
- Compilació de TypeScript
Mòdul 2: Treballant amb Tipus
Mòdul 3: Tipus Avançats
Mòdul 4: Funcions i Mòduls
- Tipus de Funció
- Paràmetres Opcional i per Defecte
- Paràmetres Rest
- Mòduls i Espais de Noms
- Decoradors
Mòdul 5: Programació Asíncrona
Mòdul 6: Eines i Millors Pràctiques
- Linting i Formatació
- Proves de Codi TypeScript
- TypeScript amb Webpack
- TypeScript amb React
- Millors Pràctiques