TypeScriptTypy podstawowe

enum

Nazwany zestaw stałych wartości, liczbowych lub tekstowych.

Na tej stronie

Przykład

#
TypeScript
enum Difficulty {
  Easy = 'easy',
  Medium = 'medium',
  Hard = 'hard'
}

function label(level: Difficulty): string {
  return level === Difficulty.Hard ? 'Dla odważnych' : 'Dla każdego'
}

console.log(Difficulty.Hard)
console.log(label(Difficulty.Easy))
Wynik
hard
Dla każdego

Definicja i zastosowanie

#

Enum (typ wyliczeniowy) grupuje powiązane stałe pod wspólną nazwą, na przykład poziomy trudności czy statusy zamówienia. Zamiast pisać w kodzie „magiczne” napisy, odwołujesz się do Difficulty.Hard.

Enumy liczbowe dostają kolejne numery od zera, chyba że podasz własne. Enumy tekstowe wymagają wartości dla każdego członka i są czytelniejsze w logach i danych z API.

W odróżnieniu od większości składni TypeScriptu enum istnieje także po kompilacji jako obiekt JavaScript. Dlatego wiele zespołów zamiast enumów używa unii literałów ("easy" | "hard") albo obiektu z as const.

Składnia

#
Składnia
enum Nazwa {
  Pierwsza = "wartość",
  Druga = "wartość"
}

Więcej przykładów

#
Enum liczbowy
TypeScript
enum Status {
  Draft,
  Published,
  Archived
}

console.log(Status.Published)
console.log(Status[2])
Wynik
1
Archived

Dobre praktyki

#
  • Przy danych z API i localStorage wybieraj enumy tekstowe. Wartość "hard" łatwiej zrozumieć niż 2.
  • Rozważ unię literałów type Difficulty = "easy" | "hard". Jest lżejsza i nie generuje kodu.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.