ReturnType<Type>

Pobiera typ wartości zwracanej przez funkcję.

Na tej stronie

Przykład

#
TypeScript
function createProgress(done: number, total: number) {
  return {
    done,
    total,
    percent: Math.round((done / total) * 100)
  }
}

type Progress = ReturnType<typeof createProgress>
// type Progress = { done: number; total: number; percent: number }

const progress: Progress = createProgress(3, 4)
console.log(`${progress.percent}%`)
Wynik
75%

Definicja i zastosowanie

#

ReturnType<Type> przyjmuje typ funkcji i zwraca typ jej wyniku. Zwykle łączy się go z typeof: ReturnType<typeof createUser>.

Dzięki temu nie musisz osobno deklarować typu obiektu, który tworzy funkcja. Wystarczy zmienić funkcję, a typ wyniku zaktualizuje się wszędzie, gdzie jest używany.

Dla funkcji asynchronicznych wynik to Promise<…>. Żeby dostać typ wartości wewnątrz obietnicy, połącz go z Awaited: Awaited<ReturnType<typeof fetchUser>>.

Składnia

#
Składnia
type Wynik = ReturnType<typeof funkcja>

Parametry typu

#
  • Type

    typ funkcji

    Funkcja, której typ zwracany chcesz pobrać.

Dobre praktyki

#
  • Wyprowadzaj typ przez ReturnType, gdy funkcja jest jedynym źródłem kształtu danych.
  • Dla funkcji async użyj Awaited<ReturnType<typeof fn>>.

Powiązane hasła

#

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