0Pricing
TypeScript Academy · Lezione

Rimappatura delle chiavi con as nei tipi mappati

Rinomini le chiavi durante la trasformazione dei tipi.

Rimappatura delle chiavi con as nei tipi mappati è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 4 lezioni in totale.

Benvenuto

TypeScript 4.1 ha aggiunto la clausola `as` nei tipi mappati, consentendo di rimappare (rinominare) le chiavi come parte della trasformazione del tipo.

Rimappatura di base delle chiavi

Aggiunga `as NewKeyType` dopo la variabile della chiave per rimapparla con un nuovo nome.
type Prefixed<T> = {
  [K in keyof T as `prefix_${string & K}`]: T[K]
};
type P = Prefixed<{ name: string }>;
// { prefix_name: string }

Filtrare le chiavi con never

Restituisca never dalla clausola `as` per rimuovere la chiave dal tipo risultante.
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

Generare i nomi dei getter

Utilizzi Capitalize con i tipi template literal per generare i nomi dei metodi getter.
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 }

Generare i nomi dei setter

Allo stesso modo, generi i nomi dei setter per le proprietà di un tipo.
type Setters<T> = {
  [K in keyof T as `set${Capitalize<string & K>}`]: (val: T[K]) => void
};

Invertire un tipo Record

Scambi chiavi e valori utilizzando la rimappatura delle chiavi.
type Invert<T extends Record<string, string>> = {
  [K in keyof T as T[K]]: K
};

Rimappatura condizionale delle chiavi

Applichi trasformazioni diverse alle chiavi in base al tipo del valore.
type MethodKeys<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K]
};

Combinare con i template literal

Utilizzi i tipi template literal nella rimappatura per generare chiavi con namespace.
type Namespaced<T, NS extends string> = {
  [K in keyof T as `${NS}::${string & K}`]: T[K]
};

Mappare le chiavi symbol

Con la rimappatura delle chiavi può lavorare anche con chiavi symbol.

Pratica: tipo FormData

Derivi un oggetto per i dati del modulo con valori stringa da un modello di dati tipizzato.
type FormFields<T> = {
  [K in keyof T as K extends string ? K : never]: string
};

Combinare as con i tipi condizionali

La rimappatura delle chiavi e i tipi condizionali possono essere combinati per creare trasformazioni di tipo estremamente espressive.

Verifica rapida

Che effetto ha sulla chiave restituire `never` dalla clausola `as` in un tipo mappato?

Riepilogo

La clausola `as` nei tipi mappati consente di rinominare, filtrare tramite never e trasformare le chiavi utilizzando template literal e condizioni. Permette di adottare schemi potenti, come la generazione di getter e setter e il filtraggio delle proprietà in base al tipo del valore.

Domande Frequenti

La lezione «Rimappatura delle chiavi con as nei tipi mappati» è gratuita?

Sì — il testo completo di «Rimappatura delle chiavi con as nei tipi mappati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 4 lezioni in totale.

Cosa imparerò in «Rimappatura delle chiavi con as nei tipi mappati»?

Rinomini le chiavi durante la trasformazione dei tipi. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare TypeScript Academy?

Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Rimappatura delle chiavi con as nei tipi mappati»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?

Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Tipi mappati: trasformazione dei tipi degli oggetti
  2. Modificatori nei tipi mappati: readonly e ?
  3. Tipi template literal: pattern di stringhe
  4. Rimappatura delle chiavi con as nei tipi mappati
← Torna a TypeScript Academy