Tipi intrinseci di manipolazione delle stringhe
Utilizzi Uppercase, Lowercase, Capitalize e Uncapitalize.
Tipi intrinseci di manipolazione delle stringhe è 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.
Trasformatori di stringhe integrati
TypeScript include quattro tipi intrinseci per la manipolazione delle stringhe: Uppercase, Lowercase, Capitalize e Uncapitalize. Trasformano i tipi letterali stringa in fase di compilazione, senza alcun costo a runtime.
Uppercase
Uppercase<S> converte ogni carattere di un tipo letterale stringa in maiuscolo. Il letterale 'hello' diventa il tipo 'HELLO'.
type Loud = Uppercase<"hello"> // "HELLO"
const x: Loud = "HELLO"
console.log(x)Lowercase
Lowercase<S> fa l'opposto, convertendo ogni carattere in minuscolo. 'HELLO' diventa 'hello'.
type Quiet = Lowercase<"HELLO"> // "hello"
const x: Quiet = "hello"
console.log(x)Capitalize
Capitalize<S> converte in maiuscolo solo il primo carattere, lasciando invariati tutti gli altri. 'name' diventa 'Name'.
type Title = Capitalize<"name"> // "Name"
const x: Title = "Name"
console.log(x)Uncapitalize
Uncapitalize<S> converte in minuscolo solo il primo carattere. 'Name' diventa 'name' — utile per convertire chiavi in PascalCase in chiavi in camelCase.
type Camel = Uncapitalize<"Name"> // "name"
const x: Camel = "name"
console.log(x)Trasformare un'unione
Applicando un tipo intrinseco a un'unione, ogni suo membro viene trasformato. Uppercase di 'a' | 'b' produce 'A' | 'B'.
type Keys = "id" | "name"
type Upper = Uppercase<Keys> // "ID" | "NAME"
const k: Upper = "ID"
console.log(k)Combinare con i template literal
I tipi intrinseci sono particolarmente potenti all'interno dei tipi template literal. Un template che antepone get al risultato di Capitalize di un campo costruisce nomi di getter, come quello per il campo name.
type Field = "name" | "age"
// template: get + Capitalize<Field> => "getName" | "getAge"
const g: "getName" | "getAge" = "getName"
console.log(g)Creare nomi di chiavi nei tipi mappati
All'interno del remapping delle chiavi di un tipo mappato, i tipi intrinseci generano nomi di proprietà trasformati — ad esempio, convertendo ogni proprietà in una chiave di handler con l'iniziale maiuscola.
type Events = "click" | "drag"
// { [E in Events as on + Capitalize<E>]: () => void }
// produces keys onClick and onDrag
const handlers: { onClick: () => void } = { onClick: () => {} }
console.log(typeof handlers.onClick)Concatenare i tipi intrinseci
È possibile annidare i tipi intrinseci per comporre più trasformazioni; ad esempio, una combinazione comune consiste nell'applicare Capitalize a una stringa trasformata con Lowercase per normalizzare le maiuscole e le minuscole.
type Normalized = Capitalize<Lowercase<"hELLO">> // "Hello"
const x: Normalized = "Hello"
console.log(x)Solo in fase di compilazione
Questi tipi non esistono a runtime. Per trasformare una stringa reale, è comunque necessario chiamare metodi come toUpperCase(); i tipi intrinseci modificano esclusivamente i tipi statici.
function shout<S extends string>(s: S): Uppercase<S> {
return s.toUpperCase() as Uppercase<S>
}
console.log(shout("hi")) // HI, typed as "HI"
Utilizzi pratici
Utilizzi i tipi intrinseci per derivare nomi di costanti, chiavi di eventi, nomi di getter e setter e per normalizzare le maiuscole e le minuscole delle chiavi di configurazione tipizzate come letterali — il tutto verificato dal compilatore.
type Action = "add" | "remove"
type ActionType = Uppercase<Action> // "ADD" | "REMOVE"
const a: ActionType = "ADD"
console.log(a)Verifica rapida
Verifichi la sua comprensione dei tipi intrinseci per le stringhe.
Riepilogo
I tipi intrinseci Uppercase, Lowercase, Capitalize e Uncapitalize trasformano i tipi letterali stringa in fase di compilazione, distribuendosi sulle unioni e combinandosi con i tipi template literal e i tipi mappati per creare nomi di chiavi e handler. Non hanno alcun comportamento a runtime: utilizzi i metodi reali delle stringhe per le trasformazioni a runtime, mentre questi tipi modificano i tipi statici.
Domande Frequenti
La lezione «Tipi intrinseci di manipolazione delle stringhe» è gratuita?
Sì — il testo completo di «Tipi intrinseci di manipolazione delle 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 intrinseci di manipolazione delle stringhe»?
Utilizzi Uppercase, Lowercase, Capitalize e Uncapitalize. 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 «Tipi intrinseci di manipolazione delle 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
- Basi dei tipi literal template
- Modellare stringhe strutturate
- Union di stringhe e completamento automatico
- Tipi intrinseci di manipolazione delle stringhe