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
- 01
type Box<T> = { value: T } const box: Box<number> = { value: 1 }
Podaj konkretny typ wymagany w tym miejscu użycia.
- 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.
