TypeScript Academy · Lektion

Omdøbning af nøgler med as i mapped types

Omdøb nøgler under transformation af typer

Lektion 4 af 413 trin

Omdøbning af nøgler med as i mapped types 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.

Velkommen

TypeScript 4.1 tilføjede `as`-sætningen i kortlagte typer, så du kan omknytte (omdøbe) nøgler som en del af typetransformationen.

Grundlæggende omdøbning af nøgler

Tilføj `as NewKeyType` efter nøglen for at omdøbe den til et nyt navn.
type Prefixed<T> = {
  [K in keyof T as `prefix_${string & K}`]: T[K]
};
type P = Prefixed<{ name: string }>;
// { prefix_name: string }

Filtrering af nøgler med never

Returnér never fra `as`-udtrykket for at fjerne nøglen fra den resulterende type.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Generering af getter-navne

Brug Capitalize sammen med skabelonliteral-typer til at generere navne på getter-metoder.
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};
type UserGetters = Getters<{ name: string; age: number }>;
// { getName: () => string; getAge: () => number }

Generering af setter-navne

Generér på samme måde setter-navne for en types egenskaber.
type Setters<T> = {
  [K in keyof T as `set${Capitalize<string & K>}`]: (val: T[K]) => void
};

Invertering af en Record-type

Byt nøgler og værdier ved hjælp af omdøbning af nøgler.
type Invert<T extends Record<string, string>> = {
  [K in keyof T as T[K]]: K
};

Betinget omdøbning af nøgler

Anvend forskellige nøgletransformationer baseret på værditypen.
type MethodKeys<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K]
};

Kombination med skabelonliteraler

Brug skabelonliteral-typer i omdøbningen til at generere nøgler med navneområder.
type Namespaced<T, NS extends string> = {
  [K in keyof T as `${NS}::${string & K}`]: T[K]
};

Afbildning af symbolnøgler

Med omdøbning af nøgler kan du også arbejde med symbolnøgler.

Praktisk: FormData-type

Udled et formularobjekt med strengværdier fra en typet datamodel.
type FormFields<T> = {
  [K in keyof T as K extends string ? K : never]: string
};

Kombination af as med betingede typer

Omdøbning af nøgler og betingede typer kan kombineres for at skabe meget udtryksfulde typetransformationer.

Hurtigt tjek

Hvad sker der med nøglen, når der returneres `never` fra `as`-udtrykket i en afbildet type?

Opsummering

`as`-udtrykket i afbildede typer lader dig omdøbe, filtrere via never og transformere nøgler ved hjælp af skabelonliteraler og betingelser. Det muliggør effektive mønstre som generering af getter- og setter-metoder samt filtrering af egenskaber efter værditype.
Gratis at komme i gang

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 “Omdøbning af nøgler med as i mapped types” gratis?

Ja — hele teksten til “Omdøbning af nøgler med as i mapped types” 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 “Omdøbning af nøgler med as i mapped types”?

Omdøb nøgler under transformation af typer 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 “Omdøbning af nøgler med as i mapped types”?

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

  1. Mapped types: Transformation af objekttyper
  2. Modifikatorer i mapped types: readonly og ?
  3. Template literal-typer: Strengmønstre
  4. Omdøbning af nøgler med as i mapped types
← Tilbage til TypeScript Academy