Rimappatura delle chiavi e tipi template literal
Rimappi le chiavi con “as”, crei chiavi tramite template literal (Capitalize/Uncapitalize) e filtri le proprietà in base a pattern nei nomi.
Rimappatura delle chiavi e tipi template literal è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. 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 3 lezioni in totale.
Introduzione
Obiettivo: usare il rimappamento delle chiavi (la clausola as) con i tipi letterali di modello per rinominare, generare o eliminare proprietà in base a schemi nei nomi.
- Rinominare le chiavi:
K as NewK - Filtrare le chiavi con
never - Comporre i nomi:
`get${Capitalize<K>}`
Rinominare le chiavi
Rinomini le chiavi con as. Esempio: converta i nomi snake_case in camelCasee.
type Original = { first_name: string; last_name: string }
type Camelize<T> = {
[K in keyof T as K extends `${infer A}_${infer B}`
? `${A}${Capitalize<B>}`
: K]: T[K]
}
type UserCamel = Camelize<Original> // { firstName: string; lastName: string }Filtrare per prefisso
La chiave never viene eliminata. Modello: filtrare i gestori di eventi con `on${string}`.
type Props = { onClick: () => void; onSubmit: () => void; title: string }
type WithoutHandlers<T> = {
[K in keyof T as K extends `on${string}` ? never : K]: T[K]
}
type Clean = WithoutHandlers<Props> // { title: string }Generare metodi
Generi le superfici delle API con nomi basati su modelli: il modello get${Capitalize<K>} viene usato per creare getter dai campi.
type Fields = "name" | "email"
type Getters<T extends string> = {
[K in T as `get${Capitalize<K>}`]: () => string
}
type ClientAPI = Getters<Fields>
// { getName: () => string; getEmail: () => string }Comporre gli schemi
Combini più modelli per generare nomi solidi, garantendo una denominazione coerente nei progetti di grandi dimensioni.
type Route = `/${"" | `${string}`}`
type HttpMethod = "get" | "post"
type Endpoints<T extends string, M extends string> = {
[K in T as `${M}_${K}`]: { path: `/${K}`; method: Uppercase<M> }
}
type API = Endpoints<"users" | "login", HttpMethod>
// { get_users: { path: "/users"; method: "GET" }, post_login: { path: "/login"; method: "POST" } }Suggerimenti e avvertenze
Suggerimenti:
Il rimappamento è costoso; suddivida i tipi complessi usando degli alias.
Usi modelli semplici per i filtri: `on${string}`, `data-${string}`.
Usi gli helper Capitalize/Uncapitalize/Uppercase/Lowercase.
Semplifichi l'API se la generazione dei nomi diventa eccessiva.
Verifica sul filtro per prefisso
Verifica rapida: quale schema di tipo mappato rimuove le proprietà che iniziano con on?
Riepilogo
Riepilogo: rinomini e filtri con il rimappamento delle chiavi; generi chiavi con i tipi letterali di modello; elimini quelle indesiderate con never.
Domande Frequenti
La lezione «Rimappatura delle chiavi e tipi template literal» è gratuita?
Sì — il testo completo di «Rimappatura delle chiavi e tipi template literal» è 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 3 lezioni in totale.
Cosa imparerò in «Rimappatura delle chiavi e tipi template literal»?
Rimappi le chiavi con “as”, crei chiavi tramite template literal (Capitalize/Uncapitalize) e filtri le proprietà in base a pattern nei nomi. 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 2 di 3.
Quanto tempo richiede la lezione «Rimappatura delle chiavi e tipi template literal»?
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
- Tipi mappati con +/-readonly e +/-?
- Rimappatura delle chiavi e tipi template literal
- Tipizzazione di pattern stringa (parametri delle route, nomi degli eventi)