Capitolo 2: Cos’è TypeScript tecnicamente

  



TypeScript è un superset di JavaScript, il che significa che:

  • Qualunque file .js valido è anche un file .ts valido (almeno in teoria).

  • Puoi iniziare a scrivere codice TypeScript semplicemente rinominando un file .js in .ts, e il codice continuerà a funzionare.

Ma il punto di forza sta nel sistema dei tipi.

🔗 Ti piace Techelopment? Dai un’occhiata al sito per tutti i dettagli!

La tipizzazione statica, opzionale ma potente

A differenza di JavaScript, che è dinamico, in TypeScript puoi dichiarare i tipi di variabili, parametri e ritorni di funzione.

Esempio:

let name: string = "Mike";
let age: number = 30;
let active: boolean = true;
 
Ma puoi anche lasciare che TypeScript li deduca automaticamente:
let name = "Mike"; // TypeScript understands that it is a string

Questo si chiama type inference: il compilatore capisce il tipo anche se non lo specifichi.


Compilazione: da TS a JS

TypeScript non viene eseguito direttamente nel browser o su Node.js.
Prima, viene compilato in JavaScript puro, tramite il comando:

tsc nomefile.ts
Questo genera un file .js equivalente, rimuovendo tutti i tipi e le annotazioni. Esempio:
function greeting(name: string): string {
  return `Hello, ${name}`;
}

Dopo la compilazione:

function greeting(name) {
  return "Hello, " + name;
}

Il codice generato è completamente compatibile con qualsiasi ambiente JavaScript.

TypeScript non esegue controlli a runtime: serve solo in fase di sviluppo e compilazione. I tipi spariscono dopo la build.


Tooling: l’altro superpotere di TypeScript

Uno dei veri vantaggi di TypeScript è quanto migliora l’esperienza di sviluppo:

  • L’editor (VSCode, WebStorm, ecc.) può mostrarti gli errori in tempo reale

  • Puoi usare IntelliSense per vedere i metodi disponibili su una variabile

  • Il refactoring (rinominare variabili, spostare funzioni, ecc.) è molto più sicuro

  • Puoi esplorare librerie terze senza dover leggere tutta la documentazione

Esempio:

interface User {
  name: string;
  age: number;
}

const mike: User = {
  name: "Mike",
  age: 30,
};

mike.name.toUpperCase(); // with IntelliSense


TypeScript ≠ un linguaggio diverso

È facile pensare a TypeScript come a un altro linguaggio. In realtà, è una sovrastruttura che ti aiuta a scrivere JavaScript migliore.

Ecco cosa non cambia:

  • Le regole di esecuzione sono quelle di JS

  • La sintassi base è la stessa

  • Puoi usare le API Web, DOM, fetch, ecc.

Ecco cosa cambia:

  • Hai strumenti per gestire codice complesso con più sicurezza

  • Puoi definire contratti chiari tra parti del codice

  • Puoi anticipare problemi prima che accadano


Ma se i tipi non esistono a runtime… perché usarli?

Bella domanda. Ecco perché ha comunque senso:

  • Errori evitati in fase di sviluppo

  • Intelligenza aumentata dell’IDE

  • Documentazione implicita per te e per il team

  • Controlli sulle API, sulle librerie esterne, su strutture complesse

In breve: scrivi codice più robusto e manutenibile.


In sintesi

TypeScript è una trasformazione assistita del tuo JavaScript:

  • Non cambia il modo in cui il browser o Node esegue il codice

  • Ma cambia profondamente il modo in cui tu e il tuo editor capite quel codice

  • Ti obbliga (in senso buono) a essere più esplicito, a pensare meglio a cosa stai facendo, e ti protegge da molti errori classici





Follow me #techelopment

Official site: www.techelopment.it
facebook: Techelopment
instagram: @techelopment
X: techelopment
Bluesky: @techelopment
telegram: @techelopment_channel
whatsapp: Techelopment
youtube: @techelopment