Przejdź do treści
TS2314

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    TS2314

    Typ generyczny wymaga argumentów typu

    Generic type 'Box' requires 1 type argument(s).

    Własne słowa kompilatora. Nietłumaczone — to ten ciąg, który wkleiłeś w wyszukiwarkę.

    Alias generyczny został użyty bez podania wymaganego parametru typu.

    Odtworzenie

    type Box<T> = { value: T }
    
    const box: Box = { value: 1 }

    Build potwierdza, że to emituje dokładnie ten kod.

    Dlaczego kompilator tak mówi

    `T` jest wejściem do funkcji poziomu typów `Box`. Bez argumentu albo zadeklarowanej wartości domyślnej kontroler nie wie, jaki typ wartości ma zawierać właściwość.

    Naprawy

    1. 01
      type Box<T> = { value: T }
      
      const box: Box<number> = { value: 1 }

      Podaj konkretny typ wymagany w tym miejscu użycia.

    2. 02
      type Box<T = unknown> = { value: T }
      
      const box: Box = { value: 1 }

      Dodaj bezpieczną wartość domyślną tylko wtedy, gdy typ generyczny ma sensowny przypadek ogólny.

    Wniosek

    Każdy wymagany parametr typu potrzebuje argumentu, tak jak każdy wymagany parametr funkcji potrzebuje wartości.

    Dokąd dalej

    Błędy