Wbudowane typy narzędziowe TypeScript i słowa kluczowe, które z nimi współpracują, pogrupowane według zadania: przekształcanie kształtu obiektu, filtrowanie unii, opisywanie funkcji, transformacja literału tekstowego i wydobywanie typów z wartości. Każdy wiersz pokazuje typ i prawdziwy alias, który napisałbyś.
Typy narzędziowe to funkcje generyczne dla typów: przyjmują jeden lub dwa typy i zwracają nowy, więc nie musisz ręcznie wypisywać każdego kształtu. Błyszczą przy typach pochodnych, gdzie źródłem prawdy jest inny typ lub wartość, a chcesz, aby Twoje typy śledziły to automatycznie. Reguła kciuka: wywodź zamiast duplikować — jeśli zmienisz źródło, typ pochodny podąży za nim.
Tabela referencyjna · 22 wpisy
Typy narzędziowe TypeScriptExplained
22 of 22 rows
Kształt obiektu
T z każdą właściwością uczynioną opcjonalną.
type Update = Partial<User>
T z każdą właściwością uczynioną wymaganą.
type Strict = Required<Opts>
T z każdą właściwością uczynioną tylko do odczytu.
type Frozen = Readonly<User>
T z zachowanymi tylko kluczami z K.
type Preview = Pick<User, "id" | "name">
T z usuniętymi kluczami z K.
type SafeUser = Omit<User, "password">
Obiekt, którego klucze to K, a wartości to V.
type Scores = Record<string, number>
Filtrowanie unii
Unia U z usuniętymi składnikami przypisywalnymi do X.
type NoNull = Exclude<T, null>
Składniki U, które są przypisywalne do X.
type OnlyStr = Extract<T, string>
T z usuniętymi null i undefined.
type Def = NonNullable<T>
Typy funkcji
Krotka typów parametrów funkcji F.
type P = Parameters<typeof fn>
Typ, który zwraca funkcja F.
type R = ReturnType<typeof fn>
Krotka typów parametrów konstruktora F.
type C = ConstructorParameters<typeof Date>
Typ instancji tworzony przez konstruktor F.
type D = InstanceType<typeof Date>
Typ, do którego Promise rozwiązuje się rekurencyjnie.
type Data = Awaited<Promise<User>>
Transformacje literałów tekstowych
Literał tekstowy S wielkimi literami.
type A = Uppercase<"abc"> // "ABC"
Literał tekstowy S małymi literami.
type B = Lowercase<"ABC"> // "abc"
S z pierwszym znakiem zamienionym na wielką literę.
type C = Capitalize<"abc"> // "Abc"
S z pierwszym znakiem zamienionym na małą literę.
type D = Uncapitalize<"Abc"> // "aBc"
Powiązane słowa kluczowe
Unia kluczy właściwości typu obiektowego T.
type K = keyof User
Typ wartości, bez wypisywania go ponownie.
type Config = typeof defaults
Przechwytuje typ wewnątrz typu warunkowego do ponownego użycia.
type El<T> = T extends Array<infer I> ? I : never
Wybiera typ X lub Y w zależności od tego, czy T jest przypisywalne do U.