TypeScript
TypeScript è un linguaggio di programmazione open source sviluppato da Microsoft. Si tratta di un'estensione di JavaScript a cui aggiunge un controllo dei tipi statico. Il capo del progetto è Anders Hejlsberg.
TypeScript è un linguaggio di programmazione open source sviluppato da Microsoft. Si tratta di un'estensione di JavaScript a cui aggiunge un controllo dei tipi statico. Il capo del progetto è Anders Hejlsberg.
Il linguaggio estende la sintassi di JavaScript in modo che qualunque programma scritto in JavaScript sia anche in grado di funzionare con TypeScript senza nessuna modifica. È stato progettato per lo sviluppo di grandi applicazioni ed è destinato a essere compilato in JavaScript per poter essere interpretato da qualunque web browser o app.
Origini
TypeScript nasce dal crescente bisogno di un linguaggio front-end per lo sviluppo di applicazioni JavaScript su larga scala e dalla necessità di sicurezza e robustezza, sia da parte di sviluppatori interni a Microsoft sia da parte di clienti e sviluppatori indipendenti.
Con l'aumento della complessità e delle dimensioni dei progetti web, JavaScript ha iniziato a mostrare limiti intrinseci in termini di scalabilità, sicurezza e manutenibilità del codice. Queste problematiche erano sentite sia dai team di sviluppo interni di Microsoft sia dalla comunità virtuale di sviluppatori esterni e clienti che richiedevano strumenti più solidi.
La mancanza di funzionalità avanzate, come il controllo statico dei tipi, la gestione degli errori e la modularizzazione, rendeva difficoltoso il mantenimento e l'evoluzione dei grandi codebase JavaScript.
TypeScript è stato concepito per colmare questa lacuna, offrendo un superset di JavaScript che introduce caratteristiche tipiche dei linguaggi di programmazione fortemente tipizzati, garantendo un ambiente di sviluppo più sicuro e affidabile.
Caratteristiche
TypeScript è un linguaggio che estende la struttura esistente di JavaScript aggiungendo o rendendo più flessibili e potenti varie sue caratteristiche:
Firma dei metodi
Classi
Interfacce
Moduli
Operatore => che permette di definire le funzioni anonime
Tipi di dato (opzionali)
Enumerazioni
Mixin tra classi
Da un punto di vista semantico TypeScript è molto simile a JScript .NET, un'altra implementazione dello standard ECMA-262 di Microsoft.
Annotazione tipizzata
TypeScript prevede un sistema di annotazione dei tipi, che consente di controllare i tipi durante la fase di compilazione. Questa caratteristica può essere ignorata se si vuole utilizzare la classica tipizzazione dinamica di JavaScript.
Le annotazioni disponibili per i tipi primitivi sono: number, boolean e string. Debolmente o fortemente tipizzati, le strutture sono di tipo any (qualunque).
Le annotazioni di tipo possono essere esportate in un file di dichiarazione (in inglese declarations file), per dare informazioni sui tipi a script TypeScript che usano librerie di supporto come, per esempio, Node.js e jQuery.
È possibile aggiungere annotazioni complesse all'inizializzazione di una variabile.
Supporto per ECMAScript 6
TypeScript aggiunge il supporto per le caratteristiche proposte nella versione Harmony di JavaScript presenti nello standard ECMAScript 6.
I costrutti supportati sono:
Classi (con ereditarietà)
Moduli
Sintassi per le funzioni anonime
Ancora prima che lo standard venisse definito appieno, Microsoft aveva dichiarato di voler continuare a sviluppare le caratteristiche di TypeScript mantenendole allineate con lo standard proposto.
Classi
TypeScript supporta le classi come definite nello standard ECMAScript 6, integrando il supporto per le annotazioni tipizzate.
MCMX

