
Come distruggere un progetto TypeScript con una sola parola: 'any'

Usare “any” è come bucare l’ombrello prima di uscire sotto la pioggia
Hai presente quando fuori piove a dirotto, prendi l’ombrello, esci… e ti accorgi che ha un buco? Ecco, usare “any” in un progetto TypeScript è esattamente la stessa cosa.
L’idea di TypeScript è proteggerti dagli errori. È un sistema che ti permette di scrivere JavaScript con i superpoteri della tipizzazione statica. Ma se tu cominci a usare “any” a caso, allora è come dire: “Vabbè, lasciamo perdere tutto.” E allora tanto vale usare JavaScript.”
E sì, se stai usando “any”, forse ti stai solo illudendo di usare TypeScript.
Ma perché “any” è così pericoloso?
“any” è una scorciatoia facile… troppo facile.
Quando lo usi, stai dicendo al compilatore:
“Fidati di me, so cosa sto facendo.”
Solo che, nella maggior parte dei casi, non è vero.
Ecco cosa succede davvero quando usi “any”:
- -
Perdi completamente il controllo sui tipi
- -
Non hai più autocompletamento affidabile
- -
Nessun warning in fase di compilazione
- -
Aumenti esponenzialmente i bug runtime
- -
Rendi il codice più difficile da mantenere per te e per gli altri
E sai qual è la cosa peggiore? Spesso chi usa “any” pensa di “risolvere il problema”, ma in realtà sta solo coprendo la polvere sotto il tappeto.
Un esempio pratico: la trappola di “any”
function calcolaPrezzo(totale: any) {
const result = totale * 0.22;
return tresult;
}
console.log(calcolaPrezzo("100")); // 22?
Sembra innocuo, vero? Ma se totale
è una stringa, il risultato sarà inaspettato.
Con un sistema di tipi ben fatto, avresti saputo subito che stavi passando un valore sbagliato. Con “any”, invece, il compilatore ti lascia fare… e poi ti becchi l’errore in produzione.
Le alternative intelligenti a “any”
Non sto dicendo che non dovresti mai usarlo. Ma devi sapere quando evitarlo e quali sono le alternative migliori:
- -
unknown
: ti obbliga a fare un check prima di usarlo - -
Generics (
<T>
): ti danno flessibilità senza perdere i controlli - -
Union Type (
string | number
): più precisi ma dinamici - -
Type assertions (type casting): se sai davvero cosa stai facendo
E se stai imparando adesso? Il mio consiglio è: non usare “any” nemmeno sotto tortura. Meglio sbagliare e imparare a tipizzare correttamente, piuttosto che abituarsi al “modo facile”.
In conclusione
👉 Ogni volta che usi “any”, chiediti:
“Sto davvero risolvendo un problema o sto solo rimandando un disastro?”
Il tuo codice dovrebbe essere la tua armatura, non il tuo punto debole. Non bucare l’ombrello prima di uscire: usa TypeScript come si deve.
Se vuoi davvero diventare un ottimo sviluppatore allora non puoi permetterti scorciatoie.
Se ti serve una guida per crescere dai un occhiata ai miei percorsi, nel frattempo, seguimi anche su Instagram e TikTok: condivido consigli pratici, tips e strategie per fare la differenza.
CodingMyke