TypeScript: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
ZimbuBot (discussione | contributi)
m WPCleaner v1.41 - Disambigua corretto un collegamento - Libero
m ultima versione disponibile
Riga 6: Riga 6:
|autore = [[Anders Hejlsberg]],<br />[[Microsoft]]
|autore = [[Anders Hejlsberg]],<br />[[Microsoft]]
|data = [[2012]]
|data = [[2012]]
|versione = 0.9.1
|versione = 2.2
|utilizzo = [[General purpose]]
|utilizzo = [[General purpose]]
|paradigmi = [[Paradigma di programmazione|Multi-paradigma]]: [[Linguaggio di scripting|scripting]], [[Programmazione orientata agli oggetti|orientato agli oggetti]], [[Programmazione strutturata|strutturata]], [[Programmazione imperativa|imperativa]]S
|paradigmi = [[Paradigma di programmazione|Multi-paradigma]]: [[Linguaggio di scripting|scripting]], [[Programmazione orientata agli oggetti|orientato agli oggetti]], [[Programmazione strutturata|strutturata]], [[Programmazione imperativa|imperativa]]S

Versione delle 19:54, 9 mar 2017

TypeScript
linguaggio di programmazione
AutoreAnders Hejlsberg,
Microsoft
Data di origine2012
Ultima versione2.2
UtilizzoGeneral purpose
ParadigmiMulti-paradigma: scripting, orientato agli oggetti, strutturata, imperativaS
Estensioni comunits
Influenzato daJavaScript, Java, C#
Implementazione di riferimento
Sistema operativoWindows, Linux, macOS
LinguaMultilingua
LicenzaApache License
Sito webwww.typescriptlang.org/

TypeScript è un linguaggio di programmazione 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

TypeScript nasce dal crescente bisogno di un linguaggio front-end per lo sviluppo di applicazioni JavaScript larga scala. Il linguaggio è nato dalla necessità di sicurezza e robustezza, sia da sviluppatori interni a Microsoft che clienti.[6]

Caratteristiche del linguaggio

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 tipizzata

TypeScript provvede 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

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

  Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft