Skip to content

TypeScript-hulptype's uitgelegd

TypeScripts ingebouwde hulptype's en de trefwoorden die ermee samengaan, gegroepeerd per taak: een object hervormen, een union filteren, een functie beschrijven, een letterlijke string transformeren en types uit waarden afleiden. Elke regel toont het type en een echt alias dat je zou schrijven.

Hulptype's zijn generieke functies voor types: ze nemen één of twee types en geven een nieuw type terug, zodat je niet elke vorm handmatig hoeft uit te schrijven. Ze blinken uit bij afgeleide types, waar de bron van waarheid een ander type of een waarde is en je wilt dat je types die automatisch volgen. De vuistregel is: leid af in plaats van te dupliceren — verander je de bron, dan volgt het afgeleide type.

Referentietabel · 22 items
22 of 22 rows
Objectvorm
T waarbij elke eigenschap optioneel is gemaakt.type Update = Partial<User>
T waarbij elke eigenschap verplicht is gemaakt.type Strict = Required<Opts>
T waarbij elke eigenschap alleen-lezen is gemaakt.type Frozen = Readonly<User>
T waarbij alleen de sleutels in K zijn behouden.type Preview = Pick<User, "id" | "name">
T waarbij de sleutels in K zijn verwijderd.type SafeUser = Omit<User, "password">
Een object waarvan de sleutels K zijn en de waarden V.type Scores = Record<string, number>
Unions filteren
De union U waarbij leden die aan X toewijsbaar zijn, zijn verwijderd.type NoNull = Exclude<T, null>
De leden van U die aan X toewijsbaar zijn.type OnlyStr = Extract<T, string>
T waarbij null en undefined zijn verwijderd.type Def = NonNullable<T>
Functietypes
Een tuple van de parametertypes van functie F.type P = Parameters<typeof fn>
Het type dat functie F teruggeeft.type R = ReturnType<typeof fn>
Een tuple van de parametertypes van constructor F.type C = ConstructorParameters<typeof Date>
Het instancetype dat constructor F produceert.type D = InstanceType<typeof Date>
Het type waarnaar een Promise resolvet, recursief.type Data = Awaited<Promise<User>>
Letterlijke strings transformeren
De letterlijke string S in hoofdletters.type A = Uppercase<"abc"> // "ABC"
De letterlijke string S in kleine letters.type B = Lowercase<"ABC"> // "abc"
S waarbij het eerste teken een hoofdletter is.type C = Capitalize<"abc"> // "Abc"
S waarbij het eerste teken een kleine letter is.type D = Uncapitalize<"Abc"> // "aBc"
Verwante trefwoorden
Een union van de eigenschapssleutels van objecttype T.type K = keyof User
Het type van een waarde, zonder het opnieuw uit te schrijven.type Config = typeof defaults
Vang een type binnen een conditioneel type voor hergebruik.type El<T> = T extends Array<infer I> ? I : never
Kies type X of Y op basis van of T aan U toewijsbaar is.type IsStr<T> = T extends string ? true : false