TypeScript Academy · leksjon

Endre nøkkelnavn med as i mappede typer

Gi nøklene nye navn under typetransformasjonen.

Leksjon 4 av 413 trinn

Endre nøkkelnavn med as i mappede typer er en gratis leksjon i TypeScript Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i TypeScript Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Velkommen

TypeScript 4.1 la til `as`-leddet i mappede typer, slik at du kan gi nøkler nye navn som en del av typetransformasjonen.

Grunnleggende omtilordning av nøkler

Legg til `as NewKeyType` etter nøkkelvariabelen for å gi nøkkelen et nytt navn.
type Prefixed<T> = {
  [K in keyof T as `prefix_${string & K}`]: T[K]
};
type P = Prefixed<{ name: string }>;
// { prefix_name: string }

Filtrering av nøkler med never

Returner never fra `as`-leddet for å fjerne nøkkelen fra den resulterende typen.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Generere getter-navn

Bruk Capitalize sammen med template literal-typer for å generere navn 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 }

Generere setter-navn

Generer på samme måte setter-navn for egenskapene i en type.
type Setters<T> = {
  [K in keyof T as `set${Capitalize<string & K>}`]: (val: T[K]) => void
};

Snu en Record-type

Bytt om på nøkler og verdier ved hjelp av omtilordning av nøkler.
type Invert<T extends Record<string, string>> = {
  [K in keyof T as T[K]]: K
};

Betinget omtilordning av nøkler

Bruk ulike nøkkeltransformasjoner basert på verditypen.
type MethodKeys<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K]
};

Kombinere med template literals

Bruk template literal-typer i omtilordningen for å generere nøkler med navnerom.
type Namespaced<T, NS extends string> = {
  [K in keyof T as `${NS}::${string & K}`]: T[K]
};

Tilordning av symbolnøkler

Med omtilordning av nøkler kan du også arbeide med symbolnøkler.

Praktisk: FormData-type

Utled et skjemobjekt med strengverdier fra en typet datamodell.
type FormFields<T> = {
  [K in keyof T as K extends string ? K : never]: string
};

Kombinere as med betingede typer

Omtilordning av nøkler og betingede typer kan kombineres for å lage svært uttrykksfulle typetransformasjoner.

Kunnskapssjekk

Hva skjer med nøkkelen når du returnerer `never` fra `as`-leddet i en mapped type?

Oppsummering

`as`-leddet i mapped types lar deg gi nytt navn til nøkler, filtrere dem (via never) og transformere dem ved hjelp av template literals og betingelser. Det muliggjør effektive mønstre som generering av getter- og setter-metoder samt filtrering av egenskaper etter verditype.
Gratis å komme i gang

Lær deg TypeScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
101
Leksjoner
352

Ofte stilte spørsmål

Er leksjonen «Endre nøkkelnavn med as i mappede typer» gratis?

Ja – hele teksten i «Endre nøkkelnavn med as i mappede typer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av TypeScript Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Endre nøkkelnavn med as i mappede typer»?

Gi nøklene nye navn under typetransformasjonen. Du øver på TypeScript Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med TypeScript Academy?

Ingen tidligere erfaring er nødvendig. TypeScript Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Endre nøkkelnavn med as i mappede typer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne TypeScript Academy-leksjonen?

Ja. Alle TypeScript Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Mappede typer: transformere objekttyper
  2. Modifikatorer i mappede typer: readonly og ?
  3. Skabelonlitteral-typer: strengmønstre
  4. Endre nøkkelnavn med as i mappede typer
← Tilbake til TypeScript Academy