Tipi template literal: pattern di stringhe
Combini unioni di stringhe in tipi basati su pattern.
Tipi template literal: pattern di stringhe è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 3 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
Tipo template literal di base
type Greeting = `Hello, ${string}`;
const g: Greeting = 'Hello, World'; // OK
// const bad: Greeting = 'Hi there'; // ErrorCombinare le unioni
type Color = 'red' | 'green' | 'blue';
type Size = 'sm' | 'lg';
type ColorSize = `${Color}-${Size}`;
// 'red-sm' | 'red-lg' | 'green-sm' | ...Pattern per i nomi degli eventi
type Entity = 'user' | 'product';
type EventName = `on${Capitalize<Entity>}Created`;
// 'onUserCreated' | 'onProductCreated'Capitalize e altri tipi intrinseci
type T = Capitalize<'hello world'>; // 'Hello world'
type U = Uppercase<'hello'>; // 'HELLO'
type L = Lowercase<'WORLD'>; // 'world'Pattern per la generazione dei getter
type Getters<T> = {
[K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};Parametri tipizzati delle route
type RouteParams<T extends string> =
T extends `${infer _Start}:${infer Param}/${infer Rest}`
? Param | RouteParams<Rest>
: T extends `${infer _Start}:${infer Param}`
? Param
: never;Denominazione delle proprietà CSS
type CSSVar = `--${string}`;
const color: CSSVar = '--primary-color'; // OKTemplate literal nei parametri di funzione
function emit<E extends `on${string}`>(event: E): void {
console.log('Emitting:', event);
}
emit('onClick'); // OK
// emit('click'); // Error — must start with 'on'Estrarre parti con infer
type GetSuffix<T extends string> =
T extends `${infer _Prefix}_${infer Suffix}` ? Suffix : never;
type S = GetSuffix<'user_created'>; // 'created'Intersezione con Record
type Handlers<T extends string> = Record<`on${Capitalize<T>}`, () => void>;Verifica rapida
Riepilogo
Domande Frequenti
La lezione «Tipi template literal: pattern di stringhe» è gratuita?
Sì — il testo completo di «Tipi template literal: pattern di stringhe» è 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 «Tipi template literal: pattern di stringhe»?
Combini unioni di stringhe in tipi basati su pattern. 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 3 di 4.
Quanto tempo richiede la lezione «Tipi template literal: pattern di stringhe»?
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: trasformazione dei tipi degli oggetti
- Modificatori nei tipi mappati: readonly e ?
- Tipi template literal: pattern di stringhe
- Rimappatura delle chiavi con as nei tipi mappati