Indeks typów
Jedna strona na typ. Definicja jest cytowana z kompilatora, którego używasz, przykłady są kompilowane i ich rozwinięte typy porównywane, a każdy wpis mówi, czego nie robi.
27 wpisów · definicje i przykłady sprawdzone z TypeScriptem 5.9.3 podczas budowania
Kształty obiektów
- Partial
Partial<T>Czyni każdą właściwość obiektu opcjonalną, na jednym poziomie. - Required
Required<T>Usuwa `?` z każdej właściwości, na jednym poziomie. - Pick
Pick<T, K extends keyof T>Zachowuje tylko wymienione klucze i sprawdza, że istnieją. - Omit
Omit<T, K extends keyof any>Usuwa wymienione klucze — i w odróżnieniu od `Pick` nie dba o to, czy w ogóle istniały. - Record
Record<K extends keyof any, T>Buduje typ obiektu ze zbioru kluczy i jednego typu wartości.
Unie
Funkcje
Teksty
- Uppercase
Uppercase<S extends string>Zamienia literalny typ tekstowy na wielkie litery. - Lowercase
Lowercase<S extends string>Zamienia literalny typ tekstowy na małe litery. - Capitalize
Capitalize<S extends string>Zamienia pierwszy znak na wielką literę i zostawia resztę w spokoju. - Uncapitalize
Uncapitalize<S extends string>Zamienia pierwszy znak na małą literę i zostawia resztę w spokoju.
Asynchroniczność
Operatory
- keyof
keyof TUnia kluczy typu. - typeof
typeof valueMost od wartości do jej typu. - T[K]
T[K]Odczytuje typ właściwości z typu obiektu. - infer
T extends Pattern<infer U> ? U : neverDeklaruje zmienną, którą kompilator wypełnia, dopasowując wzorzec. - satisfies
value satisfies ConstraintSprawdza wartość względem typu, nie poszerzając jej do tego typu. - as const
value as constPowstrzymuje kompilator przed poszerzeniem literału do jego typu ogólnego.
Konstrukcje
- Mapped types
{ [K in Keys]: Value }Pętla po unii kluczy budująca typ obiektu. - Conditional types
T extends U ? X : YTypowy `if`. Pytanie, które zadaje, to zawsze przypisywalność. - Template literal types
`prefix${T}suffix`Interpolacja tekstu na poziomie typów — a czytana wstecz, dopasowywanie wzorca do tekstu. - Variadic tuples
[Head, ...Rest]Rozwijanie i dopasowywanie krotek po pozycji — tak poziom typów robi listy. - Variance annotations
interface Box<in out T>`in` i `out` mówią, jak generyk zachowuje się, gdy zmienia się jego parametr — co TypeScript inaczej ustala sam.