TypeScript 4.1 - Arrivano i template literal types

Un nuovo potente strumento messo a disposizione da TypeScript

Andrea Simone Porceddu
VLK Studio
2 min readNov 21, 2020

--

Due nuove super funzionalità

Diciamocelo chiaramente, la versione 4.1 di TypeScript aggiunge delle novità che sono una figata pazzesca; quelle che ci hanno colpito di più, sono sicuramente quella dei template literal types e i nuovissimi type alias.

La prima è una nuova feature che permette di definire dei tipi literal in modo composito, come mai era stato possibile prima.

La seconda, è un helper, per gestire la capitalizzazione nei tipi stringa e devo dire che si integra benissimo con la prima.

Partiamo da qualcosa di conosciuto

Tutti conoscete i literal types, ci permettono di definire un set di valori stringa specifici per un tipo:

Template literal types

Con la nuova fantastica feature introdotta dalla versione 4.1, potremo utilizzare la stessa sintassi che usiamo per i template literal per definire dei tipi composti, ad esempio in questo modo:

Fantastico no? ma c’è di più. Typescript ha aggiunto la possibilità di ri-mappare il tipo key di un oggetto utilizzando un template literal type:

Il che dovrebbe funzionare così:

Scommetto che stai pensando “wow!!”, ma scommetto anche che ai più attenti non sarà sfuggito quel tipo generic Capitalize nella definizione del template literal type ColorWithGrade; Vediamo ora di cosa si tratta.

Nuovi alias type

Come anticipato, TypeScript 4.1 mette a disposizione un fantastico strumento per gestire nel dettaglio la tipizzazione della capitalizzazione delle stringhe.

Capitalize, Lowercase, Uppercase, Uncapitalize:

Vediamolo all’opera:

Ci sembra che in questo rilascio le funzionalità siano andate oltre il croccante. Sull’articolo ufficiale di release si parla anche di Checked Indexed Accesses e Recursive Conditional Types Puoi leggere tutte le novità di Typescript 4.1 Qui!

Seguici anche su linkedin: https://www.linkedin.com/company/vlk-studio

--

--