TypeScript - Panoramica
JavaScript è stato introdotto come linguaggio per il lato client. Anche lo sviluppo di Node.js ha contrassegnato JavaScript come una tecnologia emergente lato server. Tuttavia, man mano che il codice JavaScript cresce, tende a diventare più disordinato, rendendo difficile la manutenzione e il riutilizzo del codice. Inoltre, la sua incapacità di abbracciare le caratteristiche dell'orientamento agli oggetti, il controllo del tipo forte e il controllo degli errori in fase di compilazione impedisce a JavaScript di avere successo a livello aziendale come tecnologia lato server a tutti gli effetti.TypeScript è stato presentato per colmare questa lacuna.
Cos'è TypeScript?
Per definizione, "TypeScript è JavaScript per lo sviluppo su scala di applicazione".
TypeScript è un linguaggio compilato fortemente tipizzato, orientato agli oggetti. È stato progettato daAnders Hejlsberg(designer di C #) presso Microsoft. TypeScript è sia un linguaggio che un insieme di strumenti. TypeScript è un superset tipizzato di JavaScript compilato in JavaScript. In altre parole, TypeScript è JavaScript più alcune funzionalità aggiuntive.
Caratteristiche di TypeScript
TypeScript is just JavaScript. TypeScript inizia con JavaScript e termina con JavaScript. Typescript adotta i blocchi di costruzione di base del tuo programma da JavaScript. Quindi, devi solo conoscere JavaScript per usare TypeScript. Tutto il codice TypeScript viene convertito nel suo equivalente JavaScript ai fini dell'esecuzione.
TypeScript supports other JS libraries. TypeScript compilato può essere utilizzato da qualsiasi codice JavaScript. JavaScript generato da TypeScript può riutilizzare tutti i framework, gli strumenti e le librerie JavaScript esistenti.
JavaScript is TypeScript. Ciò significa che qualsiasi file.js file può essere rinominato in .ts e compilato con altri file TypeScript.
TypeScript is portable. TypeScript è portabile su browser, dispositivi e sistemi operativi. Può essere eseguito su qualsiasi ambiente in cui viene eseguito JavaScript. A differenza delle sue controparti, TypeScript non necessita di una VM dedicata o di uno specifico ambiente di runtime per essere eseguito.
TypeScript ed ECMAScript
La specifica ECMAScript è una specifica standardizzata di un linguaggio di scripting. Sono state pubblicate sei edizioni di ECMA-262. La versione 6 dello standard ha il nome in codice "Harmony". TypeScript è allineato con la specifica ECMAScript6.
TypeScript adotta le sue caratteristiche del linguaggio di base dalla specifica ECMAScript5, ovvero la specifica ufficiale per JavaScript. Le funzionalità del linguaggio TypeScript come i moduli e l'orientamento basato sulla classe sono in linea con la specifica EcmaScript 6. Inoltre, TypeScript comprende anche funzionalità come i generici e le annotazioni di tipo che non fanno parte della specifica EcmaScript6.
Perché usare TypeScript?
TypeScript è superiore alle altre sue controparti come i linguaggi di programmazione CoffeeScript e Dart in un modo in cui TypeScript è JavaScript esteso. Al contrario, linguaggi come Dart e CoffeeScript sono di per sé nuovi linguaggi e richiedono un ambiente di esecuzione specifico del linguaggio.
I vantaggi di TypeScript includono:
Compilation- JavaScript è un linguaggio interpretato. Quindi, deve essere eseguito per verificare che sia valido. Significa che scrivi tutti i codici solo per non trovare alcun output, nel caso in cui ci sia un errore. Quindi, devi passare ore a cercare bug nel codice. Il transpiler TypeScript fornisce la funzione di controllo degli errori. TypeScript compilerà il codice e genererà errori di compilazione, se trova una sorta di errori di sintassi. Questo aiuta a evidenziare gli errori prima che lo script venga eseguito.
Strong Static Typing- JavaScript non è fortemente tipizzato. TypeScript viene fornito con una digitazione statica opzionale e un sistema di inferenza del tipo tramite TLS (TypeScript Language Service). Il tipo di una variabile, dichiarata senza tipo, può essere dedotto dal TLS in base al suo valore.
Dattiloscritto supports type definitionsper le librerie JavaScript esistenti. File di definizione TypeScript (con estensione.d.tsextension) fornisce la definizione per le librerie JavaScript esterne. Quindi, il codice TypeScript può contenere queste librerie.
Dattiloscritto supports Object Oriented Programming concetti come classi, interfacce, ereditarietà, ecc.
Componenti di TypeScript
Fondamentalmente, TypeScript ha i seguenti tre componenti:
Language - Comprende la sintassi, le parole chiave e le annotazioni di tipo.
The TypeScript Compiler - Il compilatore TypeScript (tsc) converte le istruzioni scritte in TypeScript nel suo equivalente JavaScript.
The TypeScript Language Service- Il "Language Service" espone un livello aggiuntivo attorno alla pipeline del compilatore principale che sono applicazioni simili a un editor. Il servizio linguistico supporta l'insieme comune di operazioni tipiche di un editor come il completamento delle istruzioni, l'aiuto della firma, la formattazione e la struttura del codice, la colorazione, ecc.
File di dichiarazione
Quando uno script TypeScript viene compilato, c'è un'opzione per generare un file declaration file (con l'estensione .d.ts) che funge da interfaccia per i componenti nel JavaScript compilato. Il concetto di file di dichiarazione è analogo al concetto di file di intestazione trovato in C / C ++. I file di dichiarazione (file con estensione.d.ts extension) forniscono intellisense per tipi, chiamate di funzione e supporto di variabili per librerie JavaScript come jQuery, MooTools, ecc.