Błędy
Jedna strona na diagnostykę. Każda niesie odtworzenie, które naprawdę emituje ten kod, i naprawy, które naprawdę się kompilują — jedno i drugie sprawdza build, nie my.
Każde odtworzenie i każda naprawa na tych stronach są kompilowane podczas budowania
- TS2300Zduplikowany identyfikator
Duplicate identifier 'Result'.Ta sama niescalalna nazwa typu została zadeklarowana dwa razy w jednym zakresie.
- TS2304Nie znaleziono nazwy
Cannot find name 'Missing'.Kompilator poszukał tej nazwy w każdym widocznym zakresie i nic nie znalazł. Zwykle literówka, niezaimportowany typ albo wartość użyta tam, gdzie należy się typ.
- TS2312Interfejs nie może rozszerzać unii
An interface can only extend an object type or intersection of object types with statically known members.Interfejs próbował dziedziczyć po unii, której składowe nie są znane jednocześnie.
- TS2314Typ generyczny wymaga argumentów typu
Generic type 'Box' requires 1 type argument(s).Alias generyczny został użyty bez podania wymaganego parametru typu.
- TS2315Typ nie jest generyczny
Type 'Label' is not generic.Argumenty typu zostały przekazane do aliasu, który nie deklaruje parametrów typu.
- TS2322Nie da się przypisać
Type 'number' is not assignable to type 'string'.Najczęstszy błąd TypeScriptu. Wartość jednego typu trafiła tam, gdzie wymagany był inny, a te dwa nie są zgodne w tę stronę.
- TS2339Nie ma takiej właściwości
Property 'b' does not exist on type '{ a: number; }'.Sięgnąłeś po właściwość, której typ nie ma. Często typ jest dobry, a pisownia zła; czasem typ jest węższy, niż wartość naprawdę jest.
- TS2344Nie spełnia ograniczenia
Type 'number' does not satisfy the constraint 'string'.Argument typu został odrzucony w drzwiach. Generyk powiedział, co przyjmie, a to nie jest to.
- TS2345Zły typ argumentu
Argument of type 'number' is not assignable to parameter of type 'string'.Ta sama porażka przypisywalności co TS2322, tyle że w miejscu wywołania. Osobny kod, bo naprawa niemal zawsze leży gdzie indziej.
- TS2349Wyrażenia nie można wywołać
This expression is not callable.Nawiasy są używane jako wywołanie funkcji, ale wyrażenie nie ma sygnatury wywołania.
- TS2351Wyrażenia nie można skonstruować
This expression is not constructable.Wartość po `new` nie ma sygnatury konstruktora, więc nie może utworzyć instancji.
- TS2352Podejrzana konwersja typu
Conversion of type 'string' to type 'number' may be a mistake because neither type sufficiently overlaps with the other.Asercja typu przeskakuje między niepowiązanymi typami i nie wykona konwersji w czasie działania, którą sugeruje zapis.
- TS2355Musi zwrócić wartość
A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.Sygnatura obiecuje, że coś wróci, a ciało nigdy tego nie dostarcza.
- TS2367Porównanie bez części wspólnej
This comparison appears to be unintentional because the types 'string' and 'number' have no overlap.Obie strony nigdy nie będą równe, więc porównanie zawsze jest fałszem i kompilator zakłada, że nie o to ci chodziło.
- TS2393Zduplikowana implementacja funkcji
Duplicate function implementation.Dwa ciała funkcji mają tę samą nazwę w jednym zakresie; przeciążenia mogą mieć wiele sygnatur, ale tylko jedną implementację.
- TS2416Składowa nie zgadza się z bazą
Property 'm' in type 'K' is not assignable to the same property in base type 'I'.…Składowa istnieje, dlatego to nie TS2420 — ale jej typ nie jest zgodny z tym, który zadeklarowała baza.
- TS2420Klasa nie implementuje swojego interfejsu
Class 'L' incorrectly implements interface 'J'.…Klasa napisała `implements`, a potem tego nie zrobiła. Szczegół poniżej nazywa dokładnie, czego brakuje albo co się nie zgadza.
- TS2456Cykliczny alias typu
Type alias 'Loop' circularly references itself.Alias jest zdefiniowany przez samego siebie i nic pomiędzy, więc nie ma momentu, w którym cokolwiek znaczy.
- TS2493Poza końcem krotki
Tuple type 'Pair' of length '2' has no element at index '2'.Krotka wie dokładnie, jak jest długa, więc indeksowanie poza koniec jest błędem kompilacji, a nie `undefined`, o którym dowiesz się później.
- TS2532Obiekt może być undefined
Object is possibly 'undefined'.Właściwość jest odczytywana bezpośrednio z wyrażenia, którego wynik może być `undefined`.
- TS2536Nie może indeksować
Type 'K' cannot be used to index type 'T'.Zaindeksowałeś parametr typu innym parametrem typu, a kompilator nie ma powodu wierzyć, że taki klucz istnieje.
- TS2540Właściwość tylko do odczytu
Cannot assign to 'x' because it is a read-only property.Właściwość jest oznaczona jako `readonly`, co jest obietnicą na czas kompilacji, że nie zostanie nadpisana — i niczym więcej.
- TS2542Sygnatura indeksu tylko do odczytu
Index signature in type '{ readonly [k: string]: number; }' only permits reading.Obiekt przyjmuje dowolny klucz tekstowy i każdy z nich jest tylko do odczytu. To TS2540 zastosowane naraz do całej rodziny kluczy.
- TS2554Nieprawidłowa liczba argumentów
Expected 2 arguments, but got 1.Wybrana sygnatura wywołania wymaga większej liczby argumentów, niż przekazuje to wywołanie.
- TS2564Właściwość nigdy nie przypisana
Property 'x' has no initializer and is not definitely assigned in the constructor.Klasa deklaruje właściwość, której nigdy nie nadano wartości, więc każda instancja startowałaby z `undefined` w miejscu, o którym typ mówi, że zawsze jest liczbą.
- TS2578Błąd, którego oczekiwałeś, zniknął
Unused '@ts-expect-error' directive.Powiedziałeś kompilatorowi, że następny wiersz zawiedzie, a nie zawiódł. To dobra wiadomość zgłoszona jako błąd i dokładnie po to ta dyrektywa istnieje.
- TS2589Zbyt głęboka instancjacja
Type instantiation is excessively deep and possibly infinite.Typ rekurencyjny zaszedł dalej, niż kompilator jest gotów podążyć — zwykle około pięćdziesięciu poziomów, i niemal zawsze dlatego, że rekurencja liczy, zamiast się kurczyć.
- TS2693Typ użyty jako wartość czasu działania
'User' only refers to a type, but is being used as a value here.Alias typu został użyty w przestrzeni wartości, ale aliasy są usuwane z emitowanego JavaScriptu.
- TS2739Obiekt nie ma wymaganych właściwości
Type '{}' is missing the following properties from type 'Point': x, yTyp docelowy wymaga kilku składowych, a przekazany obiekt nie ma żadnej z nich.
- TS2741Brakuje wymaganej właściwości
Property 'b' is missing in type '{ a: number; }' but required in type 'Need'.Obiekt ma właściwy kształt na tyle, na ile sięga — tylko nie sięga dość daleko. Każda właściwość wymagana przez cel musi być obecna.
- TS2749Wartość użyta jako typ
'widget' refers to a value, but is being used as a type here. Did you mean 'typeof widget'?Zmienna czasu działania została zapisana w przestrzeni typów; użyj `typeof`, aby pobrać typ tej wartości.
- TS2769Żadne przeciążenie nie pasuje
No overload matches this call.Funkcja ma kilka sygnatur, a argumenty nie pasują do żadnej. Kompilator raportuje wtedy każdą próbę i dlatego ten błąd jest tak długi.
- TS7006Parametr niejawnie ma typ any
Parameter 'value' implicitly has an 'any' type.Tryb ścisły znalazł parametr funkcji bez adnotacji i bez kontekstu, z którego można wywnioskować typ.
- TS7015Tablica indeksowana wartością inną niż liczba
Element implicitly has an 'any' type because index expression is not of type 'number'.Tablice opisują pozycje liczbowe; klucz tekstowy taki jak `first` nie jest jedną z nich.
- TS7023Nie można wywnioskować typu zwrotnego rekurencji
'factorial' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.Funkcja rekurencyjna wymaga od inferencji znajomości typu zwrotnego, zanim ten sam typ został ustalony.
- TS7031Destrukturyzowana wartość niejawnie ma any
Binding element 'name' implicitly has an 'any' type.Wzorzec destrukturyzacji nazywa pole, ale obiekt zawierający to pole nie ma znanego typu.
- TS7053Niejawne any z indeksu tekstowego
Element implicitly has an 'any' type because expression of type 'string' can't be used to index typeZaindeksowałeś obiekt zwykłym `string`, a kompilator nie umie stwierdzić, którą właściwość masz na myśli — wynikiem byłoby `any`, a `strict` nie przepuści tego po cichu.
- TS18046To jest unknown
'value' is of type 'unknown'.`unknown` to typ, który odmawia użycia, dopóki nie udowodnisz, czym jest. Ta odmowa jest całą jego funkcją.
- TS18047Wartość może być null
'value' is possibly 'null'.Wartość dopuszczająca null jest używana tak, jakby gałąź `null` została już wykluczona.
- TS18048Możliwe undefined
'maybe.a' is possibly 'undefined'.Opcjonalna właściwość została użyta bez sprawdzenia. Przy `strictNullChecks` „opcjonalna” znaczy, że nieobecność jest częścią typu i trzeba ją obsłużyć.

