TypeScriptTypy podstawowe
Typy literałowe
Typy dopuszczające tylko konkretne wartości, np. "easy" | "hard".
Przykład
#TypeScript
type Theme = 'light' | 'dark' | 'system'
function applyTheme(theme: Theme): string {
return theme === 'system' ? 'Motyw jak w systemie' : `Motyw: ${theme}`
}
console.log(applyTheme('dark'))
console.log(applyTheme('system'))Wynik
Motyw: dark Motyw jak w systemie
Definicja i zastosowanie
#Typ literałowy to typ, którego jedyną dozwoloną wartością jest konkretny literał: "easy", 42 albo true. Sam w sobie jest mało przydatny, ale połączony w unię tworzy precyzyjną listę dozwolonych wartości.
Zapis type Theme = "light" | "dark" | "system" sprawia, że zmienna typu Theme przyjmie tylko te trzy napisy. Literówka "drak" zostanie wychwycona od razu, a edytor podpowie dostępne opcje.
Zmienne zadeklarowane przez const mają automatycznie typ literałowy. Przy let TypeScript rozszerza typ do string czy number, bo wartość może się zmienić.
Składnia
#Składnia
type Nazwa = "wartość1" | "wartość2" | 3Więcej przykładów
#TypeScript
applyTheme('drak')
// Błąd: Argument of type '"drak"' is not assignable to parameter of type 'Theme'.TypeScript
const fixed = 'hard'
// type: "hard"
let changing = 'hard'
// type: stringDobre praktyki
#- Unie literałów to często lepszy wybór niż enum: są lżejsze i czytelne w danych.
- Do zamrożenia literałów w obiekcie lub tablicy użyj
as const.
Powiązane hasła
#Widzisz błąd albo brakuje przykładu? Napisz do nas.