Cum să utilizați enumerarea în TypeScript pas cu pas
Enumerările din TypeScript sunt o modalitate de a defini un set de constante numite care pot fi utilizate pentru a reprezenta o colecție de valori înrudite. Ele fac codul mai lizibil și mai ușor de întreținut, dând nume prietenoase acestor valori. Acest ghid vă va ghida prin utilizarea enumărilor în TypeScript pas cu pas, acoperind tipurile, beneficiile și exemplele practice ale acestora.
Ce este o Enum?
Un enum (prescurtare de la "enumeration") este un tip de date special în TypeScript care vă permite să definiți un set de constante denumite. Aceste constante numite pot reprezenta valori numerice sau șir, făcând codul mai descriptiv și mai puțin predispus la erori.
Tipuri de enumerari în TypeScript
Există trei tipuri de enumerari în TypeScript:
- Enumări numerice
- Enumări șiruri
- Enumări eterogene
Enumări numerice
Enumerările numerice sunt implicite în TypeScript. Sunt un set de valori numite cărora li se atribuie automat valori numerice începând de la 0 sau de la o valoare de pornire personalizată, dacă este specificată.
Exemplu de enumerare numerică de bază
Mai jos este un exemplu simplu de enumerare numerică:
enum Direction {
Up,
Down,
Left,
Right
}
let move: Direction = Direction.Up;
console.log(move); // Output: 0
În acest exemplu, enumerarea Direction
are patru membri: Up
, Down
, Left
și Right
. În mod implicit, Up
i se atribuie valoarea 0
, Down
este 1
și așa mai departe. De asemenea, puteți specifica valori numerice personalizate pentru membri.
Enum numeric cu valori personalizate
Puteți atribui valori personalizate membrilor enumerației:
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
În acest exemplu, New
este setat la 1
, InProgress
este setat automat la 2
, Done
este setat la 5
, iar Anulat
este setat automat la 6
.
Enumări șiruri
Enumerările șirurilor sunt un alt tip de enumerare în care fiecare membru este inițializat cu un literal șir, făcându-le mai lizibile și mai ușor de depanat.
Exemplu de enumerare a șirurilor de caractere de bază
Mai jos este un exemplu de enumerare de șir:
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT"
}
let move: Direction = Direction.Left;
console.log(move); // Output: "LEFT"
În acest exemplu, fiecare membru de enumerare este inițializat cu o valoare șir. Spre deosebire de enumerarile numerice, enumerarile de siruri nu au valori incrementate automat.
Enumări eterogene
Enumerările eterogene sunt enumerări care conțin atât membri șir, cât și membri numerici. Deși este posibil să le definiți, în general nu este recomandat, deoarece poate duce la confuzii și erori în cod.
Exemplu Enum eterogen
Iată un exemplu de enumerare eterogenă:
enum MixedEnum {
Yes = "YES",
No = 0,
Maybe = 1
}
console.log(MixedEnum.Yes); // Output: "YES"
console.log(MixedEnum.No); // Output: 0
În acest exemplu, MixedEnum
conține atât valori șir, cât și valori numerice. Utilizați astfel de enumerari cu precauție, deoarece pot provoca confuzie.
Enumerare cazuri de utilizare
Enumerările sunt utile într-o varietate de scenarii:
- Reprezentând un set de constante înrudite, cum ar fi direcțiile (Sus, Jos, Stânga, Dreapta).
- Definirea stărilor într-o mașină de stări (Nou, În curs, Terminat, Anulat).
- Folosindu-le în declarațiile switch-case pentru o mai bună lizibilitate.
Enum într-un exemplu de caz de comutare
Utilizarea enumărilor într-o declarație switch-case îmbunătățește lizibilitatea codului și face mai ușoară gestionarea stărilor.
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."
În acest exemplu, instrucțiunea switch-case este mai lizibilă și mai puțin predispusă la erori, datorită utilizării enumărilor.
Concluzie
Enumerările din TypeScript oferă o modalitate puternică de a defini un set de constante denumite, îmbunătățind lizibilitatea codului și siguranța tipului. Folosind enumerari numerice, șir sau chiar eterogene, vă puteți gestiona și organiza mai bine codul. Cu acest ghid pas cu pas, acum ar trebui să vă simțiți confortabil folosind enumerări în TypeScript pentru a face codul mai curat și mai ușor de întreținut.