Slik bruker du Enums i TypeScript trinn-for-trinn
Enums i TypeScript er en måte å definere et sett med navngitte konstanter som kan brukes til å representere en samling av relaterte verdier. De gjør koden mer lesbar og vedlikeholdbar ved å gi vennlige navn til disse verdiene. Denne veiledningen vil lede deg gjennom bruken av enums i TypeScript trinn-for-trinn, og dekker deres typer, fordeler og praktiske eksempler.
Hva er en Enum?
En enum (forkortelse for "enumeration") er en spesiell datatype i TypeScript som lar deg definere et sett med navngitte konstanter. Disse navngitte konstantene kan representere numeriske verdier eller strengverdier, noe som gjør koden din mer beskrivende og mindre utsatt for feil.
Typer enums i TypeScript
Det er tre typer enums i TypeScript:
- Numeriske oppslag
- Enums for strenger
- Heterogene enums
Numeriske oppslag
Numeriske oppslag er standard i TypeScript. De er et sett med navngitte verdier som automatisk blir tildelt numeriske verdier fra 0, eller fra en egendefinert startverdi hvis spesifisert.
Grunnleggende numerisk oppregningseksempel
Nedenfor er et enkelt eksempel på en numerisk enum:
enum Direction {
Up,
Down,
Left,
Right
}
let move: Direction = Direction.Up;
console.log(move); // Output: 0
I dette eksemplet har Retning
enum fire medlemmer: Opp
, Ned
, Venstre
og Høyre
. Som standard er Opp
tildelt verdien 0
, Ned
er 1
, og så videre. Du kan også angi egendefinerte numeriske verdier for medlemmene.
Numerisk enum med egendefinerte verdier
Du kan tilordne egendefinerte verdier til enum medlemmer:
enum Status {
New = 1,
InProgress,
Done = 5,
Cancelled
}
console.log(Status.New); // Output: 1
console.log(Status.InProgress); // Output: 2
console.log(Status.Done); // Output: 5
console.log(Status.Cancelled); // Output: 6
I dette eksemplet er Ny
satt til 1
, InProgress
er automatisk satt til 2
, Ferdig
er satt til 5
, og Avbrutt
settes automatisk til 6
.
Enums for strenger
String enums er en annen type enum der hvert medlem initialiseres med en streng bokstavelig, noe som gjør dem mer lesbare og lettere å feilsøke.
Basic String Enum Eksempel
Nedenfor er et eksempel på en strengenum:
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT"
}
let move: Direction = Direction.Left;
console.log(move); // Output: "LEFT"
I dette eksemplet initialiseres hvert enum-medlem med en strengverdi. I motsetning til numeriske opptegnelser, har ikke strengoppregninger automatiske verdier.
Heterogene enums
Heterogene enums er enums som inneholder både streng og numeriske medlemmer. Selv om det er mulig å definere dem, anbefales det generelt ikke, da det kan føre til forvirring og feil i kode.
Eksempel på heterogen enum
Her er et eksempel på en heterogen enum:
enum MixedEnum {
Yes = "YES",
No = 0,
Maybe = 1
}
console.log(MixedEnum.Yes); // Output: "YES"
console.log(MixedEnum.No); // Output: 0
I dette eksemplet inneholder MixedEnum
både streng- og numeriske verdier. Bruk slike opptegnelser med forsiktighet da de kan forårsake forvirring.
Enum Use Cases
Enums er nyttige i en rekke scenarier:
- Representerer et sett med relaterte konstanter som retninger (Opp, Ned, Venstre, Høyre).
- Definere tilstander i en tilstandsmaskin (New, InProgress, Done, Cancelled).
- Bruke dem i switch-case statements for bedre lesbarhet.
Enum i et Switch-Case-eksempel
Å bruke enums i en switch-case-setning forbedrer kodelesbarheten og gjør det enklere å administrere tilstander.
enum Status {
New,
InProgress,
Done,
Cancelled
}
function getStatusMessage(status: Status): string {
switch (status) {
case Status.New:
return "The task is new.";
case Status.InProgress:
return "The task is in progress.";
case Status.Done:
return "The task is completed.";
case Status.Cancelled:
return "The task is cancelled.";
default:
return "Unknown status.";
}
}
console.log(getStatusMessage(Status.InProgress)); // Output: "The task is in progress."
I dette eksemplet er switch-case-setningen mer lesbar og mindre utsatt for feil, takket være bruk av enums.
Konklusjon
Enums i TypeScript gir en kraftig måte å definere et sett med navngitte konstanter, som forbedrer kodelesbarhet og typesikkerhet. Ved å bruke numeriske, strenge eller til og med heterogene enums, kan du bedre administrere og organisere koden din. Med denne trinnvise veiledningen bør du nå være komfortabel med å bruke enums i TypeScript for å gjøre koden renere og mer vedlikeholdbar.