TypeScript ha vinto. Ecco cosa ci ha portato.

Il dibattito è finito. Gli sviluppatori non discutono più sull'uso di TypeScript. I nuovi progetti frontend lo utilizzano di default.

La proposta originale era quella di intercettare gli errori di battitura prima che facciano crashare l'app. Non è questo il vero vantaggio. Il vero valore risiede in qualcosa di molto più profondo.

TypeScript crea una documentazione che non diventa mai obsoleta. La firma di una funzione ti dice esattamente di cosa ha bisogno una funzione e cosa restituisce. Se aggiungi una nuova opzione a un tipo, il compilatore ti mostra ogni punto in cui devi aggiornare il codice. Un commento rimarrebbe lì, a mentirti.

Il refactoring diventa sicuro. In un codice non tipizzato, rinominare un campo sembra un azzardo. Cerchi le stringhe e speri nel meglio. In TypeScript, cambi il tipo e il compilatore ti fornisce una lista di cose da fare per ogni riga interrotta. Smetti di temere la tua codebase.

I tipi aiutano anche a usare l'IA.

Uno strumento di IA che "indovina" il codice in JavaScript è pericoloso. Commette errori che causano problemi in produzione. In TypeScript, il tipo funge da specifica. L'IA sa cosa è permesso. Se l'IA commette un errore, il compilatore lo intercetta immediatamente. I tipi trasformano il "codice plausibile" in "codice corretto".

Si diceva che i tipi rallentassero il lavoro. In un mondo di IA, i tipi ti velocizzano. Fungono da guardrail. Puoi accettare il codice generato con fiducia, invece di controllare ogni riga a mano.

Scrivi tipi migliori con queste regole:

  • Usa le union invece di molteplici booleani. Uno stato come "loading" | "error" | "ready" previene stati impossibili.
  • Dai un nome ai tuoi tipi di dominio. Usare "type Cents = number" rende chiaro il tuo intento.
  • Evita "any". Usa "unknown" e restringi il tipo al suo posto. "any" rompe la tua rete di sicurezza.
  • Lascia lavorare l'inferenza. Non è necessario etichettare tutto. Definisci le firme delle funzioni e le API esportate, poi lascia che il resto fluisca.

TypeScript non si è limitato a intercettare gli errori di battitura. Ha trasformato le codebase in sistemi di contratti vincolanti. Questi contratti consentono un refactoring senza timori e strumenti di IA affidabili.

Abbiamo iniziato a usare i tipi per fermare i bug. Continuiamo a usarli perché sono la base per tutto il resto.

Fonte: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-53lo