TypeScript
TypeScript è un linguaggio di programmazione open source sviluppato da Microsoft. Si tratta di un Super-set di JavaScript che basa le sue caratteristiche su ECMAScript 6; capo del progetto è Anders Hejlsberg.[1][2][3][4]
TypeScript linguaggio di programmazione | |
---|---|
![]() | |
Autore | Anders Hejlsberg, Microsoft |
Data di origine | 1º ottobre 2012 |
Ultima versione | 5.8.2 (28 febbraio 2025) |
Utilizzo | General purpose |
Paradigmi | Multi-paradigma: scripting, orientato agli oggetti, strutturata, imperativa |
Estensioni comuni | ts e tsx |
Influenzato da | JavaScript, Java, C# |
Implementazione di riferimento | |
Sistema operativo | Windows, Linux, macOS |
Lingua | Multilingua |
Licenza | licenza Apache 2.0 |
Sito web | www.typescriptlang.org/ |
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.[5]
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.[6]
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 fat-arrow function
- Tipi di dato (opzionali)
- Tipo Enum
- 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.
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 usano librerie di supporto come, per esempio, Node.js e jQuery.
Supporto per ECMAScript 6
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 le arrow function (=>)
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.
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
- ^ 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
Collegamenti esterni
- (EN) Sito ufficiale, su typescriptlang.org.
- (EN) Blog ufficiale, su devblogs.microsoft.com.
- (EN) Opere riguardanti TypeScript, su Open Library, Internet Archive.
- Repository sorgenti di TypeScript, su github.com.
Controllo di autorità | LCCN (EN) sh2013001822 · J9U (EN, HE) 987007570557905171 |
---|