TypeScript

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
TypeScript
linguaggio di programmazione
TypeScript Logo.png
AutoreAnders Hejlsberg,
Microsoft
Data di origine1º ottobre 2012
Ultima versione4.0.3 (18 settembre 2020)
UtilizzoGeneral purpose
ParadigmiMulti-paradigma: scripting, orientato agli oggetti, strutturata, imperativa
Estensioni comunits e tsx
Influenzato daJavaScript, Java, C#
Implementazione di riferimento
Sistema operativoWindows, Linux, macOS
LinguaMultilingua
LicenzaApache 2.0
Sito webwww.typescriptlang.org/

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]

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[modifica | modifica wikitesto]

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[modifica | modifica wikitesto]

TypeScript è un linguaggio che estende la struttura esistente di JavaScript aggiungendo o rendendo più flessibili e potenti varie sue caratteristiche:

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 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[modifica | modifica wikitesto]

TypeScript aggiunge il supporto per le caratteristiche proposte nella versione Harmony di JavaScript[7] 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[modifica | modifica wikitesto]

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[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Controllo di autoritàLCCN (ENsh2013001822
Microsoft Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft