Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

TypeScript

Da Wikipedia, l'enciclopedia libera.
TypeScript
linguaggio di programmazione
AutoreAnders Hejlsberg,
Microsoft
Data di origine1º ottobre 2012
Ultima versione5.8.2 (28 febbraio 2025)
UtilizzoGeneral purpose
ParadigmiMulti-paradigma:scripting,orientato agli oggetti,strutturata,imperativa
TipizzazioneMedia
Estensioni comunits e tsx
Influenzato daJavaScript,Java,C#
Implementazione di riferimento
Sistema operativoWindows,Linux,macOS
LinguaMultilingua
Licenzalicenza Apache 2.0
Sito webwww.typescriptlang.org/
Modifica dati su Wikidata ·Manuale

TypeScript è unlinguaggio di programmazioneopen source sviluppato daMicrosoft. Si tratta di un'estensione diJavaScript che basa le sue caratteristiche suECMAScript 6; capo del progetto èAnders Hejlsberg.[1][2][3][4]

Il linguaggio estende lasintassi di JavaScript in modo che qualunqueprogramma 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 esserecompilato in JavaScript per poter essereinterpretato da qualunqueweb browser oapp.[5]

Origini

[modifica |modifica wikitesto]

TypeScript nasce dal crescente bisogno di un linguaggiofront-end per lo sviluppo diapplicazioni 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]

Con l'aumento della complessità e delle dimensioni dei progetti web, JavaScript ha iniziato a mostrare limiti intrinseci in termini di scalabilità, sicurezza emanutenibilità del codice. Queste problematiche erano sentite sia dai team di sviluppo interni di Microsoft sia dallacomunità virtuale di sviluppatori esterni e clienti che richiedevano strumenti più solidi.

La mancanza di funzionalità avanzate, come il controllo statico dei tipi, la gestione degli errori e lamodularizzazione, rendeva difficoltoso il mantenimento e l'evoluzione dei grandicodebase JavaScript.

TypeScript è stato concepito per colmare questa lacuna, offrendo unsuperset di JavaScript che introduce caratteristiche tipiche dei linguaggi di programmazionefortemente tipizzati, garantendo un ambiente di sviluppo più sicuro e affidabile.

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 aJScript .NET, un'altra implementazione dellostandard 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 dicompilazione. Questa caratteristica può essere ignorata se si vuole utilizzare la classicatipizzazione dinamica di JavaScript.

functionadd(left:number,right:number):number{returnleft+right;}

Le annotazioni disponibili per i tipi primitivi sono:number,boolean estring.Debolmente o fortemente tipizzati, le strutture sono di tipoany (qualunque).

Le annotazioni di tipo possono essere esportate in un file di dichiarazione (in inglesedeclarations file), per dare informazioni sui tipi a script TypeScript che usanolibrerie di supporto come, per esempio,Node.js ejQuery.

È possibile aggiungere annotazioni complesse all'inizializzazione di una variabile.

publicstructure:{name:string,age:number,salary:number,contact:string|number}={name:'Mario',age:42,salary:1300,contact:2+'000'}

Supporto per ECMAScript 6

[modifica |modifica wikitesto]

TypeScript aggiunge il supporto per le caratteristiche proposte nella versioneHarmony di JavaScript[7] presenti nello standardECMAScript 6.

I costrutti supportati sono:

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.

classPerson{privateage:number;privatesalary:number;constructor(privatename:string,age:number,salary:number){this.age=age;this.salary=salary;}toString():string{return`Name:${this.name}, Age: (${this.age}), Salary: (${this.salary})`;}}

Cronologia delle versioni

[modifica |modifica wikitesto]
Numero della versioneData di pubblicazioneCambiamenti significativi
0.81 ottobre 2012
0.918 giugno 2013
1.012 aprile 2014
1.16 ottobre 2014miglioramenti delle prestazioni
1.312 novembre 2014protected, tipi di tupla
1.420 gennaio 2015tipi unione, dichiarazionilet econst, stringhe di modello, tipo di guardie, di tipo alias
1.520 luglio 2015Moduli ES6, parola chiavenamespace, supportofor..of, decoratori
1.616 settembre 2015Supporto JSX, tipi di intersezione, dichiarazioni di tipo locale, classi e metodi astratti, funzioni di protezione dei tipi definite dall'utente
1.730 novembre 2015async eawait
1.822 febbraio 2016vincoli generici, errori di analisi del flusso di controllo, tipi di stringhe letterali,allowJs
2.022 settembre 2016Tipi consapevoli di null e undefined, analisi del tipo basata sul flusso di controllo, tipi di unione discriminati,async, parola chiavereadonly,this
2.18 novembre 2016keyof e tipi di ricerca, tipi mappati, diffusione e riposo di oggetti,
2.222 febbraio 2017classi mix-in,object
2.327 aprile 2017async, valori predefiniti dei parametri generici, opzione rigorosa
2.427 giugno 2017espressioni di importazione dinamica, enumerazioni di stringhe, inferenza migliorata per i generici, controvarianza rigorosa per i parametri di callback
2.531 agosto 2017variabili della clausola catch opzionali
2.631 ottobre 2017tipi di funzioni rigorose
2.731 gennaio 2018proprietà con nome costante, tuple di lunghezza fissa
2.827 marzo 2018tipi condizionali, migliorati con i tipi di intersezionekeyof
2.914 maggio 2018supporto per simboli e letterali numerici nei tipi di oggetti keyof e mappati
3.030 luglio 2018riferimenti al progetto, estrazione e diffusione di elenchi di parametri con tuple
3.127 settembre 2018tipi di tupla e array mappabili
3.230 novembre 2018controlli più severi perbind,call eapply
3.331 gennaio 2019regole rilassate sui metodi dei tipi di unione, build incrementali per i progetti compositi
3.429 marzo 2019build incrementali più veloci, inferenza del tipo da funzioni generiche, modificatorereadonly per array, asserzioniconst, controllo del tipo globalethis
3.529 maggio 2019build incrementali più veloci, omissione del tipo di supporto, controlli delle proprietà in eccesso migliorati nei tipi di unione, controllo del tipo di unione più intelligente
3.628 agosto 2019Generatori più rigidi, diffusione dell'array più accurata, migliore supporto Unicode per gli identificatori
3.75 novembre 2019Concatenamento opzionale, coalescenza nullo
3.820 febbraio 2020Importazioni ed esportazioni di solo tipo, campi privati ECMAScript, attesa di primo livello
3.912 maggio 2020Miglioramenti nell'inferenza, miglioramenti della velocità
4.020 agosto 2020Tipi di tupla variabili, elementi di tupla etichettati
4.119 novembre 2020Tipi letterali modello, rimappatura chiave nei tipi mappati, tipi condizionali ricorsivi
4.312 maggio 2021Tipi di scrittura separati sulle proprietà, miglioramenti al tipo stringa
4.4 beta1 luglio 2021Analisi del flusso di controllo delle condizioni con alias
4.426 agosto 2021Default tipo unknown per il catch degli errori. Tipi unione resi esattamente come scritti. Blocchi statici all'interno delle classi.

Note

[modifica |modifica wikitesto]
  1. ^(EN)Microsoft takes the wraps off TypeScript, a superset of JavaScript, suZDNET.
  2. ^TypeScript: JavaScript Development at Application Scale - Somasegar's blog - Site Home - MSDN Blogs
  3. ^(EN)Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?, suZDNET.
  4. ^Microsoft Augments Javascript for Large-scale Development CIO.com, sucio.com.URL consultato il 19 luglio 2013(archiviato dall'url originale il 17 dicembre 2013).
  5. ^(EN) Ars Staff,Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem?, suArs Technica, 3 ottobre 2012.
  6. ^Anders Hejlsberg and Lars Bak: TypeScript, JavaScript, and Dart
  7. ^harmony:proposals [ES Wiki], suweb.archive.org, 9 agosto 2013(archiviato dall'url originale il 9 agosto 2013).

Altri progetti

[modifica |modifica wikitesto]

Altri progetti

Collegamenti esterni

[modifica |modifica wikitesto]
Controllo di autoritàLCCN(ENsh2013001822 ·J9U(EN, HE987007570557905171
  Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft
Estratto da "https://it.wikipedia.org/w/index.php?title=TypeScript&oldid=142202562"
Categorie:
Categorie nascoste:

[8]ページ先頭

©2009-2025 Movatter.jp