Intrinsiske string-manipulationstyper
Brug Uppercase, Lowercase, Capitalize og Uncapitalize
Intrinsiske string-manipulationstyper er en gratis TypeScript Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i TypeScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. TypeScript Academy-kurset indeholder 4 lektioner i alt.
Indbyggede strengtransformere
TypeScript leveres med fire indbyggede strengmanipulationstyper: Uppercase, Lowercase, Capitalize og Uncapitalize. De omdanner strengliteraltyper ved kompilering uden omkostninger under kørsel.
Uppercase
Uppercase<S> konverterer hvert tegn i en strengliteraltype til stort. Literalen 'hello' bliver til typen 'HELLO'.
type Loud = Uppercase<"hello"> // "HELLO"
const x: Loud = "HELLO"
console.log(x)Lowercase
Lowercase<S> gør det modsatte og skriver hvert tegn med småt. 'HELLO' bliver til 'hello'.
type Quiet = Lowercase<"HELLO"> // "hello"
const x: Quiet = "hello"
console.log(x)Capitalize
Capitalize<S> skriver kun det første tegn med stort, mens resten forbliver uændret. 'name' bliver til 'Name'.
type Title = Capitalize<"name"> // "Name"
const x: Title = "Name"
console.log(x)Uncapitalize
Uncapitalize<S> skriver kun det første tegn med småt. 'Name' bliver til 'name' — praktisk til at konvertere PascalCase-nøgler til camelCase.
type Camel = Uncapitalize<"Name"> // "name"
const x: Camel = "name"
console.log(x)Omdannelse af en union
Anvend en indbygget type på en union, så omdannes hvert medlem. Uppercase på 'a' | 'b' giver 'A' | 'B'.
type Keys = "id" | "name"
type Upper = Uppercase<Keys> // "ID" | "NAME"
const k: Upper = "ID"
console.log(k)Kombination med skabelonliteraler
De indbyggede typer er mest effektive inde i skabelonliteraltyper. En skabelon, der sætter get foran resultatet af Capitalize på et felt, opbygger navne på hentemetoder, f.eks. en hentemetode til navnefeltet.
type Field = "name" | "age"
// template: get + Capitalize<Field> => "getName" | "getAge"
const g: "getName" | "getAge" = "getName"
console.log(g)Opbygning af nøglenavne i mapningstyper
Ved omdøbning af nøgler i en mapningstype genererer de indbyggede typer transformerede egenskabsnavne — for eksempel ved at omdanne hver egenskab til en nøgle til en behandler med stort begyndelsesbogstav.
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)Sammenkædning af indbyggede typer
Du kan indlejre indbyggede typer for at sammensætte omdannelser — en almindelig kombination er f.eks. at anvende Capitalize på en Lowercase-streng for at normalisere store og små bogstaver.
type Normalized = Capitalize<Lowercase<"hELLO">> // "Hello"
const x: Normalized = "Hello"
console.log(x)Kun ved kompilering
Disse typer findes ikke under kørsel. Hvis du vil omdanne en faktisk strengværdi, kalder du stadig metoder som toUpperCase(); de indbyggede typer former kun de statiske typer.
function shout<S extends string>(s: S): Uppercase<S> {
return s.toUpperCase() as Uppercase<S>
}
console.log(shout("hi")) // HI, typed as "HI"
Praktiske anvendelser
Brug de indbyggede typer til at udlede konstantnavne, hændelsesnøgler, navne på hente- og sætmetoder samt til at normalisere store og små bogstaver i konfigurationsnøgler med literaltype — alt sammen kontrolleret af kompileren.
type Action = "add" | "remove"
type ActionType = Uppercase<Action> // "ADD" | "REMOVE"
const a: ActionType = "ADD"
console.log(a)Hurtig kontrol
Afprøv din forståelse af indbyggede strengtyper.
Opsamling
De indbyggede typer Uppercase, Lowercase, Capitalize og Uncapitalize omdanner strengliteraltyper ved kompilering, fordeler sig over unioner og kan sammensættes med skabelonliteral- og mapningstyper for at opbygge nøgle- og behandlernavne. De har ingen funktion under kørsel — brug rigtige strengmetoder til omdannelse under kørsel, mens disse typer former de statiske typer.
Lær TypeScript med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 101
- Lektioner
- 352
Ofte stillede spørgsmål
Er lektionen “Intrinsiske string-manipulationstyper” gratis?
Ja — hele teksten til “Intrinsiske string-manipulationstyper” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af TypeScript Academy-kurset, skal du opgradere til CoddyKit PRO. TypeScript Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Intrinsiske string-manipulationstyper”?
Brug Uppercase, Lowercase, Capitalize og Uncapitalize Du øver dig i TypeScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på TypeScript Academy?
Der kræves ingen tidligere erfaring. TypeScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Intrinsiske string-manipulationstyper”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne TypeScript Academy-lektion?
Ja. Alle TypeScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Grundlæggende template literal-typer
- Modellering af strukturerede strenge
- String-unioner og autocompletion
- Intrinsiske string-manipulationstyper