TypeScript

Da Wikipedia, l'enciclopedia libera.
TypeScript
TypeScript Logo.png
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]

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:

Da un punto di vista semantico TypeScript è molto simile a JScript .NET, un'altra implementazione dello standard ECMA-262 di Microsoft.

Annotazione tipata[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]

  1. ^ Microsoft takes the wraps off TypeScript, a superset of JavaScript | ZDNet
  2. ^ TypeScript: JavaScript Development at Application Scale - Somasegar's blog - Site Home - MSDN Blogs
  3. ^ Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript? | ZDNet
  4. ^ Microsoft Augments Javascript for Large-scale Development CIO.com
  5. ^ Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem? | Ars Technica
  6. ^ | Anders Hejlsberg and Lars Bak: TypeScript, JavaScript, and Dart