TypeScriptInterfejsy i klasy
type
Alias typu: nazwa dla dowolnego typu, także unii, krotek i typów złożonych.
Przykład
#TypeScript
type Difficulty = 'easy' | 'medium' | 'hard'
type Task = {
title: string
difficulty: Difficulty
exp: number
}
type Handler = (task: Task) => string
const summary: Handler = (task) => `${task.title} (${task.difficulty}): +${task.exp} EXP`
console.log(summary({ title: 'Flexbox', difficulty: 'medium', exp: 20 }))Wynik
Flexbox (medium): +20 EXP
Definicja i zastosowanie
#Słowo type tworzy alias, czyli nową nazwę dla istniejącego typu. Może to być typ obiektu, ale też unia ("easy" | "hard"), krotka, typ funkcji albo wynik typów narzędziowych.
Aliasy i interfejsy w opisie obiektów działają bardzo podobnie. Różnice: aliasu nie da się „otworzyć” drugą deklaracją o tej samej nazwie, a rozszerzanie robi się przez przecięcie & zamiast extends.
Aliasy są niezbędne wszędzie tam, gdzie interfejs nie wystarczy: przy uniach, typach warunkowych, mapowanych i szablonowych.
Składnia
#Składnia
type Nazwa = typDobre praktyki
#- Unie, krotki i typy funkcji zawsze zapisuj przez
type. Interfejs ich nie wyrazi. - Ustal w zespole prostą zasadę, na przykład: obiekty przez
interface, reszta przeztype.
Powiązane hasła
#Widzisz błąd albo brakuje przykładu? Napisz do nas.