Przejdź do treści
webtype.orgParameters

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    Funkcje

    Parameters

    Lista parametrów funkcji, jako krotka.

    Czym jest

    Ta sama sztuczka z `infer` co w `ReturnType`, wymierzona w drugi koniec sygnatury. Wynikiem jest krotka i to czyni go składalnym: rozwiń ją, dopisz do niej, odetnij głowę i oddaj wynik innej sygnaturze.

    Przykłady

    • Parameters<typeof send>
      [to: string, retries: number]
    • Parameters<() => void>
      []
    • Parameters<(first: string, ...rest: number[]) => void>
      [first: string, ...rest: number[]]

      Parametry reszty przeżywają jako element reszty, więc krotka pozostaje tak wyrazista jak sygnatura.

    Każdy rozwinięty typ powyżej wypisał TypeScript 5.9.3, nie ręka człowieka.

    Czego nie robi

    • Nie zachowuje nazw parametrów w formie, którą da się odczytać. Widać je w podpowiedziach jako etykiety krotki, ale żadna operacja na typach do nich nie sięgnie.
    • Nie radzi sobie z przeciążeniami lepiej niż `ReturnType` — wygrywa ostatnia sygnatura.

    Wniosek

    Lista parametrów jest krotką i stosuje się do niej każda technika krotkowa z archiwum. Ta równoważność jest powodem, dla którego krotki wariadyczne trafiły do języka.