Intrinsieke typen voor stringmanipulatie
Gebruik Uppercase, Lowercase, Capitalize en Uncapitalize
Intrinsieke typen voor stringmanipulatie is een gratis TypeScript Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject TypeScript Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus TypeScript Academy bevat in totaal 4 lessen.
Ingebouwde tekenreeksbewerkers
TypeScript wordt geleverd met vier intrinsieke typen voor tekenreeksbewerking: Uppercase, Lowercase, Capitalize en Uncapitalize. Ze transformeren letterlijke tekenreekstypen tijdens het compileren, zonder kosten tijdens de uitvoering.
Uppercase
Uppercase<S> zet elk teken van een letterlijk tekenreekstype om naar een hoofdletter. Het letterlijke type 'hello' wordt het type 'HELLO'.
type Loud = Uppercase<"hello"> // "HELLO"
const x: Loud = "HELLO"
console.log(x)Lowercase
Lowercase<S> doet het omgekeerde en zet elk teken om naar een kleine letter. 'HELLO' wordt 'hello'.
type Quiet = Lowercase<"HELLO"> // "hello"
const x: Quiet = "hello"
console.log(x)Capitalize
Capitalize<S> zet alleen het eerste teken om naar een hoofdletter en laat de rest ongemoeid. 'name' wordt 'Name'.
type Title = Capitalize<"name"> // "Name"
const x: Title = "Name"
console.log(x)Uncapitalize
Uncapitalize<S> zet alleen het eerste teken om naar een kleine letter. 'Name' wordt 'name' — handig om sleutels in PascalCase om te zetten naar camelCase.
type Camel = Uncapitalize<"Name"> // "name"
const x: Camel = "name"
console.log(x)Een unie transformeren
Pas een intrinsiek type toe op een unie en het transformeert elk lid. Uppercase van 'a' | 'b' levert 'A' | 'B' op.
type Keys = "id" | "name"
type Upper = Uppercase<Keys> // "ID" | "NAME"
const k: Upper = "ID"
console.log(k)Combineren met sjabloonliteralen
De intrinsieke typen zijn het krachtigst binnen typen met sjabloonliteralen. Een sjabloon dat get voor Capitalize van een veld plaatst, bouwt namen voor getters, zoals de naam van een getter voor het veld name.
type Field = "name" | "age"
// template: get + Capitalize<Field> => "getName" | "getAge"
const g: "getName" | "getAge" = "getName"
console.log(g)Sleutelnamen opbouwen in gemapte typen
Binnen het opnieuw toewijzen van sleutels van een gemapt type genereren intrinsieke typen getransformeerde eigenschapsnamen — bijvoorbeeld door van elke eigenschap een hoofdlettergevoelige sleutel voor een handler te maken.
type Events = "click" | "drag"
// { [E in Events as on + Capitalize<E>]: () => void }
// produces keys onClick and onDrag
const handlers: { onClick: () => void } = { onClick: () => {} }
console.log(typeof handlers.onClick)Intrinsieke typen aan elkaar koppelen
Je kunt intrinsieke typen nesten om transformaties samen te stellen — bijvoorbeeld Capitalize toepassen op een tekenreeks waarop eerst Lowercase is toegepast om hoofdlettergebruik te normaliseren.
type Normalized = Capitalize<Lowercase<"hELLO">> // "Hello"
const x: Normalized = "Hello"
console.log(x)Alleen tijdens het compileren
Deze typen bestaan niet tijdens de uitvoering. Om een daadwerkelijke tekenreekswaarde te transformeren, roep je nog steeds methoden zoals toUpperCase() aan; de intrinsieke typen bepalen alleen de statische typen.
function shout<S extends string>(s: S): Uppercase<S> {
return s.toUpperCase() as Uppercase<S>
}
console.log(shout("hi")) // HI, typed as "HI"
Praktische toepassingen
Gebruik de intrinsieke typen om constante namen, gebeurtenissleutels en namen voor getters en setters af te leiden, en om het hoofdlettergebruik van configuratiesleutels met een letterlijk type te normaliseren — allemaal gecontroleerd door de compiler.
type Action = "add" | "remove"
type ActionType = Uppercase<Action> // "ADD" | "REMOVE"
const a: ActionType = "ADD"
console.log(a)Korte controle
Test je begrip van intrinsieke tekenreekstypen.
Samenvatting
De intrinsieke typen Uppercase, Lowercase, Capitalize en Uncapitalize transformeren letterlijke tekenreekstypen tijdens het compileren, worden verdeeld over unies en kunnen worden gecombineerd met typen met sjabloonliteralen en gemapte typen om sleutel- en handlernamen op te bouwen. Ze hebben geen gedrag tijdens de uitvoering — gebruik echte tekenreeksmethoden voor transformaties tijdens de uitvoering, terwijl deze typen de statische typen bepalen.
Leer TypeScript met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 101
- Lessen
- 352
Veelgestelde vragen
Is de les “Intrinsieke typen voor stringmanipulatie” gratis?
Ja — de volledige tekst van “Intrinsieke typen voor stringmanipulatie” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus TypeScript Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus TypeScript Academy bevat in totaal 4 lessen.
Wat leer ik in “Intrinsieke typen voor stringmanipulatie”?
Gebruik Uppercase, Lowercase, Capitalize en Uncapitalize Je oefent met TypeScript Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met TypeScript Academy te beginnen?
Ervaring vooraf is niet nodig. TypeScript Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Intrinsieke typen voor stringmanipulatie”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over TypeScript Academy?
Ja. Elke les over TypeScript Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Basisprincipes van template literal types
- Gestructureerde strings modelleren
- String-unions en automatisch aanvullen
- Intrinsieke typen voor stringmanipulatie