TypeScript
| TypeScript | |
|---|---|
| Autore | Anders Hejlsberg, Microsoft |
| Data di origine | 2012 |
| Ultima versione | 0.9.1 |
| Utilizzo | General purpose |
| Paradigmi | Multi-paradigma: scripting, orientato agli oggetti, strutturata, imperativa, imperativa |
| Tipizzazione | |
| Estensioni comuni | ts |
| Influenzato da | JavaScript, Java, C# |
| Implementazione di riferimento | |
| Sistema operativo | Windows, Linux, Mac OS X |
| Lingua | Multilingua |
| Licenza | Apache License |
| Sito web | http://www.typescriptlang.org/ |
TypeScript è un linguaggio di programmazione Software libero ed Open source sviluppato da Microsoft. Si tratta di un Super-set di JavaScript che basa le sue caratteristiche su ECMAScript 6, ed a capo del progetto c'è Anders Hejlsberg.[1][2][3][4]
TypeScript estende la sintassi di JavaScript, in questo modo qualunque programma scritto in JavaScript è anche in grado di funzionare con TypeScript senza nessuna modifica. TypeScript è stato progettato per lo sviluppo di grandi applicazioni ed una volta compilato produce JavaScript.[5]
Indice
Origini[modifica | modifica wikitesto]
TypeScript nasce dal crescente bisogno di un linguaggio front-end per lo sviluppo di applicazioni JavaScript larga scala. Il linguaggio è nato dal cresente bisogno di sicurezza e robustezza, sia da sviluppatori interni a Microsoft che clienti.[6]
Caratteristiche del linguaggio[modifica | modifica wikitesto]
TypeScript è un linguaggio che estende la base esistente di JavaScript aggiungendo:
- Segnatura
- Classi
- Interfacce
- Moduli
- "Fat Arrow"
Da un punto di vista semantico TypeScript è molto simile a JScript .NET, un'altra implementazione dello standard ECMA-262 di Microsoft.
Annotazione tipizzata[modifica | modifica wikitesto]
TypeScript provvede di 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.
function add(left: number, right: number): number {
return left + right;
}
Le annotazioni disponibili per i tipi primitivi sono: number, bool 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 (declarations file in inglese), per dare informazioni sui tipi a script TypeScript che si avvantaggiano di librerie preesistenti come Node.js e jQuery.
Supporto per ECMAScript 6[modifica | modifica wikitesto]
TypeScript aggiunge il supporto per le caratteristiche proposte nella prossima versione di JavaScript (Harmony) features proposed presenti nello standard ECMAScript 6.
I costrutti supportati sono:
- Classi (con ereditarietà)
- Moduli
- Sintassi per la freccia funzione (=>)
Anche se lo standard non è ancora stato definito appieno, Microsoft ha dichiarato di voler continuare a sviluppare le caratteristiche di TypeScript mantenendole allineate con lo standard proposto.
Classi[modifica | modifica wikitesto]
TypeScript supporta le classi come definite nello standard ECMAScript 6, integrando il supporto per le annotazioni tipate.
class Person { private name: string; private age: number; private salary: number; constructor(name: string, age: number, salary: number) { this.name = name; this.age = age; this.salary = salary; } toString(): string { return this.name + " (" + this.age + ")" + "("+ this.salary +")"; } }
Note[modifica | modifica wikitesto]
- ^ Microsoft takes the wraps off TypeScript, a superset of JavaScript | ZDNet
- ^ TypeScript: JavaScript Development at Application Scale - Somasegar's blog - Site Home - MSDN Blogs
- ^ Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript? | ZDNet
- ^ Microsoft Augments Javascript for Large-scale Development CIO.com
- ^ Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem? | Ars Technica
- ^ | Anders Hejlsberg and Lars Bak: TypeScript, JavaScript, and Dart