Mga built-in na utility type ng TypeScript at mga keyword na kasama nila, nakagrupon ayon sa trabaho: hubugin muli ang isang object, i-filter ang isang union, ilarawan ang isang function, i-transform ang isang literal na string, at kunin ang mga type mula sa mga value. Ipinapakita ng bawat row ang type at isang totoong alias na isusulat mo.
Ang mga utility type ay mga generic function para sa mga type: kumukuha sila ng isa o dalawang type at nagbabalik ng bago, kaya hindi mo kailangang i-spell out nang mano-mano ang bawat hugis. Sila ang braso kapag ang source of truth ay ibang type o isang value at gusto mong sundan ito ng iyong mga type nang awtomatiko. Ang patakaran: i-derive sa halip na i-duplicate — kapag binago mo ang source, susunod ang derived na type.
Talaan ng sanggunian · 22 mga entry
Mga Utility Type ng TypeScriptExplained
22 of 22 rows
Hugis ng object
Ang T kung saan naging optional ang bawat property.
type Update = Partial<User>
Ang T kung saan naging required ang bawat property.
type Strict = Required<Opts>
Ang T kung saan naging readonly ang bawat property.
type Frozen = Readonly<User>
Ang T kung saan ang mga key lang sa K ang napanatili.
type Preview = Pick<User, "id" | "name">
Ang T kung saan inalis ang mga key sa K.
type SafeUser = Omit<User, "password">
Isang object na ang mga key ay K at ang mga value ay V.
type Scores = Record<string, number>
Pag-filter ng union
Ang union U nang wala ang mga member na kayang i-assign sa X.
type NoNull = Exclude<T, null>
Ang mga member ng U na kayang i-assign sa X.
type OnlyStr = Extract<T, string>
Ang T nang wala na ang null at undefined.
type Def = NonNullable<T>
Mga type ng function
Isang tuple ng mga type ng parameter ng function F.
type P = Parameters<typeof fn>
Ang type na ibinabalik ng function F.
type R = ReturnType<typeof fn>
Isang tuple ng mga type ng parameter ng constructor F.
type C = ConstructorParameters<typeof Date>
Ang type ng instance na ginagawa ng constructor F.
type D = InstanceType<typeof Date>
Ang type kung saan nagre-resolve ang isang Promise, nang recursive.
type Data = Awaited<Promise<User>>
Mga transform ng literal na string
Ang string literal S sa upper case.
type A = Uppercase<"abc"> // "ABC"
Ang string literal S sa lower case.
type B = Lowercase<"ABC"> // "abc"
Ang S na ang unang character ay nasa upper case.
type C = Capitalize<"abc"> // "Abc"
Ang S na ang unang character ay nasa lower case.
type D = Uncapitalize<"Abc"> // "aBc"
Mga kaugnay na keyword
Isang union ng mga property key ng object type na T.
type K = keyof User
Ang type ng isang value, nang hindi isinulat muli.
type Config = typeof defaults
Humawak ng isang type sa loob ng conditional para magamit muli.
type El<T> = T extends Array<infer I> ? I : never
Pumipili ng type X o Y base kung kayang i-assign ang T sa U.