Domyślne parametry typu

Wartość, jaką przyjmuje parametr typu, gdy nie zostanie podany ani wywnioskowany.

Na tej stronie

Przykład

#
TypeScript
type ApiResult<TData = unknown, TError = string> =
  | { ok: true; data: TData }
  | { ok: false; error: TError }

const plain: ApiResult = { ok: false, error: 'timeout' }
const typed: ApiResult<number[]> = { ok: true, data: [1, 2, 3] }

console.log(plain.ok ? 'dane' : plain.error)
console.log(typed.ok ? typed.data.length : 0)
Wynik
timeout
3

Definicja i zastosowanie

#

Parametr typu może mieć wartość domyślną, zapisaną jak w funkcjach: type Response<T = unknown>. Jeśli ktoś użyje typu bez podawania parametru, zostanie użyta wartość domyślna.

To ułatwia korzystanie z typów generycznych w prostych przypadkach, bez utraty elastyczności w złożonych. Tak działa na przykład Promise w wielu bibliotekach czy typy komponentów React.

Parametry z wartościami domyślnymi muszą stać po parametrach wymaganych, a wartość domyślna musi spełniać ewentualne ograniczenie extends.

Składnia

#
Składnia
type Nazwa<T = TypDomyslny> = …
function f<T = TypDomyslny>() { … }

Dobre praktyki

#
  • Domyślne parametry typu to dobre miejsce na unknown, które wymusza sprawdzenie danych, zamiast any.
  • Umieszczaj parametry najczęściej zmieniane na początku listy, a te z sensownymi wartościami domyślnymi na końcu.

Powiązane hasła

#

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