Programovanie

Čo je to TypeScript? Silne napísaný JavaScript

Čo je to TypeScript? Definovaný strojopis

TypeScript je variácia populárneho programovacieho jazyka JavaScript, ktorá pridáva niektoré kľúčové funkcie dôležité pre rozvoj podniku. Najmä TypeScript je silne napísaný - to znamená, že programátor môže vyhlásiť, že premenné a ďalšie dátové štruktúry majú špecifický typ, napríklad reťazec alebo booleovskú hodnotu, a TypeScript skontroluje platnosť ich hodnôt. To nie je možné v JavaScripte, čo je voľne zadané.

Silné písanie TypeScript umožňuje množstvo funkcií, ktoré pomáhajú zefektívňovať vývojárov, najmä pri práci s rozsiahlymi databázami podnikových kódov. Strojopis je kompilovaný a nie interpretovaný ako JavaScript, čo znamená, že pred vykonaním môžu byť zachytené chyby; IDE, ktoré vykonávajú prírastkovú kompiláciu na pozadí, môžu takéto chyby spozorovať počas procesu kódovania.

Napriek tomuto kľúčovému rozdielu v JavaScripte je možné TypeScript spustiť kdekoľvek, kde je spustený JavaScript. Je to preto, že TypeScript sa kompiluje nie do binárneho spustiteľného súboru, ale do štandardného JavaScriptu. Poďme sa ponoriť a zistiť viac.

Strojopis vs JavaScript 

TypeScript je a nadmnožina JavaScript. Aj keď je akýkoľvek správny kód JavaScript správny kód TypeScript, TypeScript má aj jazykové funkcie, ktoré nie sú súčasťou JavaScriptu. Najvýznamnejšou vlastnosťou, ktorá je pre TypeScript jedinečná - tou, ktorá dala jeho názvu názov - je, ako bolo uvedené, silné písanie: premenná TypeScript je spojená s typ, ako reťazec, číslo alebo logická hodnota, ktorá kompilátoru hovorí, aký typ údajov môže obsahovať. TypeScript navyše podporuje odvodenie typov a obsahuje catch-all akýkoľvek typ, čo znamená, že k premenným nemusí mať programátor explicitne priradené svoje typy; o tom viac za chvíľu.

TypeScript je tiež navrhnutý pre objektovo orientované programovanie - JavaScript, to nie. Koncepty ako dedičstvo a riadenie prístupu, ktoré nie sú v JavaScripte intuitívne, sa dajú ľahko implementovať do TypeScript. TypeScript vám navyše umožňuje implementovať rozhrania, čo je vo svete JavaScriptu do veľkej miery nezmyselný koncept.

To znamená, že v stroji TypeScript nemôžete kódovať žiadne funkcie, ktoré by ste nedokázali kódovať ani v stroji JavaScript. Je to preto, že TypeScript nie je kompilovaný v konvenčnom zmysle - napríklad C ++ je kompilovaný do binárneho spustiteľného súboru, ktorý je možné spustiť na určenom hardvéri. Namiesto toho kompilátor TypeScript transkóduje Kód strojopisu do funkčne ekvivalentného JavaScriptu. Tento článok od Seana Maxwella o GitConnected obsahuje niekoľko skvelých príkladov objektovo orientovaných úryvkov kódu TypeScript a ich ekvivalentov v jazyku JavaScript. Výsledný JavaScript je potom možné spustiť kdekoľvek, kde je možné spustiť akýkoľvek kód JavaScript, od webového prehľadávača po server vybavený Node.js.

Takže ak je TypeScript nakoniec iba fantazijný spôsob generovania kódu JavaScript, prečo sa s ním trápiť? Aby sme odpovedali na túto otázku, musíme sa pozrieť na to, odkiaľ TypeScript pochádza a na čo sa používa.

Na čo sa používa TypeScript?

TypeScript bol vydaný ako otvorený zdroj v roku 2012 po vývoji v rámci spoločnosti Microsoft. (Softvérový gigant zostáva správcom a hlavným vývojárom projektu.) Tento článok ZDNet z tej doby ponúka zaujímavý pohľad na to, prečo sa to stalo: „Ukázalo sa, že jednou z veľkých motivácií boli skúsenosti ostatných tímov spoločnosti Microsoft, ktoré sa pokúšali vyvinúť a udržiavať produkty spoločnosti Microsoft v JavaScripte. “

V tom čase sa spoločnosť Microsoft pokúšala rozšíriť Bing Maps ako konkurenta pre Mapy Google a ponúkať webové verzie svojho balíka Office - a JavaScript bol hlavným vývojovým jazykom pre tieto úlohy. Pre vývojárov však bolo v podstate ťažké písať aplikácie v rozsahu vlajkových lodí spoločnosti Microsoft pomocou JavaScriptu. Takže vyvinuli TypeScript, aby uľahčili vytváranie podnikových aplikácií pre spustenie v prostrediach JavaScriptu. Toto je podstata sloganu pre jazyk na oficiálnej stránke projektu TypeScript: „JavaScript, ktorý sa zväčšuje.“

Prečo je TypeScript pre tento druh práce lepší ako vanilkový JavaScript? Môžeme navždy polemizovať o výhodách objektovo orientovaného programovania, ale realita je taká, že mnoho vývojárov softvéru, ktorí pracujú na veľkých podnikových projektoch, je na to zvyknutých a pomáha pri opätovnom použití kódu ako balóna projektov. Tiež by ste nemali zanedbávať mieru, do akej môžu nástroje zvýšiť produktivitu vývojárov. Ako už bolo uvedené, väčšina podnikových IDE podporuje prírastkovú kompiláciu na pozadí, ktorá dokáže pri práci spozorovať chyby. (Pokiaľ je váš kód syntakticky správny, bude sa stále transpilovať, ale výsledný JavaScript nemusí fungovať správne; považujte kontrolu chýb za ekvivalent kontroly pravopisu.) Tieto IDE vám tiež môžu pomôcť refaktorovať kód, keď sa dostanete hlboko do svojho projekt.

Stručne povedané, TypeScript sa používa, ak chcete mať podnikové funkcie a nástroje v jazyku, ako je Java, ale svoj kód potrebujete na vykonanie v prostredí JavaScriptu. Teoreticky by ste mohli napísať štandardný JavaScript, ktorý kompilátor TypeScript vygeneruje sám, ale trvalo by vám to oveľa dlhšie a kódový základ by bol pre veľký tím ťažšie kolektívne pochopiteľný a laditeľný.

Och, a TypeScript má v rukáve ešte jeden úhľadný trik: Môžete nastaviť kompilátor tak, aby sa zameral na konkrétne runtime prostredie JavaScript, prehliadač alebo dokonca jazykovú verziu. Pretože akýkoľvek dobre tvarovaný kód JavaScript je tiež kódom TypeScript, môžete napríklad vziať kód napísaný do špecifikácie ECMAScript 2015, ktorý obsahoval množstvo nových syntaktických funkcií, a skompilovať ho do kódu JavaScript, ktorý by bol v súlade so starými verziami jazyk.

Nainštalujte si TypeScript

Ste pripravení začať hrať s TypeScriptom? Inštalácia jazyka je jednoduchá. Ak už na svojom vývojovom stroji používate Node.js, môžete ho nainštalovať pomocou NPM, správcu balíkov Node.js. Procesom vás prevedie oficiálny tutoriál TypeScript za 5 minút.

TypeScript je možné nainštalovať aj ako doplnok do vášho IDE podľa vášho výberu, čo vám poskytne výhody nástrojov, o ktorých sme hovorili vyššie, a postará sa tiež o proces kompilácie TypeScript do JavaScriptu. Pretože bol TypeScript vyvinutý spoločnosťou Microsoft, nie je prekvapením, že pre Visual Studio a Visual Studio Code sú k dispozícii vysoko kvalitné doplnky. Ale ako projekt s otvoreným zdrojom bol TypeScript prispôsobený všade, od IDE otvoreného zdroja, ako je Eclipse, až po ctihodných textových editorov, ako je Vim. Celý projekt je možné prehľadávať a sťahovať z GitHubu.

Syntax strojopisu

Po nainštalovaní TypeScript ste pripravení začať skúmať, čo znamená porozumieť základom syntaxe TypeScript. Pretože JavaScript je základom TypeScript, musíte byť s JavaScriptom oboznámení skôr, ako začnete. Bezpochyby vašimi hlavnými bodmi záujmu budú funkcie špecifické pre TypeScript, vďaka ktorým je jazyk jedinečný; tu sa dotkneme najvyšších bodov.

Typy strojopisu

Je zrejmé, že najdôležitejšou syntaktickou vlastnosťou TypeScript je typový systém. Jazyk podporuje niekoľko základných typov:

  • Boolean: Jednoduchá hodnota true / false.
  • Číslo: V TypeScript, rovnako ako v JavaScripte, všetky čísla majú hodnoty s pohyblivou rádovou čiarkou - neexistuje samostatné celé číslo. TypeScript podporuje desatinné, hexadecimálne, binárne a osmičkové literály.
  • Reťazec: Reťazec textových údajov. Pri nastavovaní údajov môžete na obklopenie reťazca použiť jednoduché alebo dvojité úvodzovky. Môžete tiež použiť ` ) na obklopenie reťazcov viacerými riadkami a výrazy môžete vložiť do reťazca so syntaxou $ {expr}.
  • Polia a n-tice: Tieto typy vám umožňujú ukladať viac hodnôt v určenom poradí. V poli sú jednotlivé hodnoty rovnakého dátového typu, zatiaľ čo v n-tici môžu byť heterogénne. Strojopis pre každý() metóda sa používa na volanie funkcie na každom prvku v poli.
  • Enum: Rovnako ako typ rovnakého mena v C #, aj TypeScript enum vám umožňuje priraďovať názvy čitateľné človekom k postupnosti číselných hodnôt.
  • Ľubovoľné: Toto je typ premennej, pri ktorej vopred nevyhnutne neviete, s akou hodnotou nakoniec skončí - jej hodnoty môže čerpať napríklad zo vstupu používateľa alebo z knižnice tretej strany.
  • Objekt: Toto je typ, ktorý predstavuje čokoľvek, čo nie je primitívny typ; je to nevyhnutné pre objektovo orientovanú povahu TypeScript.

Existujú dva rôzne spôsoby, ako explicitne priradiť typ k premennej. Prvou je syntax uhlovej zátvorky:

let someValue: any;

nech strLength: number = (someValue) .length;

A druhá je ako syntax:

let someValue: any = "toto je reťazec";

nech strLength: number = (someValue ako reťazec) .length;

Tieto útržky kódu, ktoré sú prevzaté z dokumentácie TypeScript, sú funkčne ekvivalentné. Obaja definujú someValue ako premenná typu akýkoľvek a priradiť „toto je reťazec“ ako jeho hodnotu, potom definujte strLength ako číslo a ako jeho hodnota priradiť dĺžku obsahu someValue.

Typy strojopisu je možné nastaviť aj odvodením. To znamená, že ak nastavíte hodnotu x na 7 bez určenia, aký typ x je, kompilátor bude predpokladať, že x by malo byť číslo. Za určitých okolností môže kompilátor odvodiť akýkoľvek typu, aj keď môžete použiť príznaky kompilácie, aby ste sa uistili, že to tak nie je.

Systém typov TypeScript je dosť bohatý a ide nad rámec tohto článku. Existuje celý rad pokročilých a užitočných typov; patria sem typy spojenia, ktoré vám umožňujú určiť, že premenná bude jedným z niekoľkých zadaných typov, a mapované typy, čo sú typy, ktoré môžete vytvoriť na základe existujúceho typu, v ktorom transformujete každú vlastnosť v existujúcom type na rovnaké spôsobom. Môžete napríklad vytvoriť zjednotený typ pre premennú, ktorou chcete byť buď číslo alebo boolean, ale nie reťazec alebo čokoľvek iné; alebo môžete vytvoriť mapovaný typ, ktorý nastaví všetky prvky v poli iba na čítanie.

Rozhranie strojopisu

Rovnako ako väčšina objektovo orientovaných jazykov, aj TypeScript má rozhrania, ktoré umožňujú používateľom definovať svoje vlastné typy. Rozhrania určujú vlastnosti, ktoré má objekt, spolu s typmi spojenými s týmito vlastnosťami. Rozhrania strojopisu môžu mať voliteľné vlastnosti. Viac informácií o syntaxi nájdete v dokumentácii k strojopisu.

Generické typy strojopisu

TypeScript tiež zdieľa koncept generiká s objektovo orientovanými jazykmi ako Java a C #. (Ekvivalentné zariadenie v C ++ sa nazýva a šablóna.) V stroji TypeScript môžu generické komponenty pracovať s rôznymi typmi, nie iba s jedným, podľa toho, kde sa v kóde tieto komponenty volajú. Tu je veľmi jednoduchý príklad z dokumentácie TypeScript. Najskôr zvážte túto funkciu, ktorá prijme argument a potom ho okamžite vráti:

identita funkcie (arg: akákoľvek): akákoľvek {

návrat arg;

}

Pretože funkcia je definovaná pomocou akýkoľvek typu, prijme argument ľubovoľného typu, ktorý sa na neho rozhodnete hodiť. Čo sa však vráti, bude z akýkoľvek typu. Tu je verzia funkcie využívajúca všeobecné informácie:

identita funkcie (arg: T): T {

návrat arg;

}

Tento kód obsahuje premenná typu T, ktorý zachytáva typ prichádzajúceho argumentu a ukladá ho pre ďalšie použitie.

Generík je oveľa viac, čo je kľúčové pre umožnenie opätovného použitia kódu vo veľkom podnikovom projekte. Podrobnosti nájdete v dokumentácii k strojopisu.

Trieda strojopisu 

V objektovo orientovanom programovaní triedy dedia funkčnosť a slúžia zase ako stavebné kamene objektov. JavaScript tradične nepoužíval triedy, namiesto toho sa spoliehal na funkcie a prototypové dedenie, ale koncept bol do jazyka pridaný ako súčasť verzie normy ECMAScript 2015. Triedy už boli súčasťou TypeScript a teraz TypeScript používa rovnakú syntax ako JavaScript. Jednou z výhod kompilátora TypeScript je, že dokáže transformovať kód s triedami JavaScriptu na starší kód JavaScript, ktorý je v súlade so štandardmi spred roku 2015.

Dátum strojopisu

Existuje množstvo metód a objektov na získanie a nastavenie dátumu a času v stroji TypeScript, ktoré sa väčšinou dedia z kódu JavaScript. O tom, ako to funguje, má JavaTPoint dobrý prehľad.

Výukový program pre strojopisy 

Ste pripravení ísť hlbšie? Získajte rýchlosť pomocou týchto výukových programov pre TypeScript:

  • TypeScript za 5 minút vás prevedie procesom inštalácie TypeScript, ak ste to ešte neurobili.
  • Tento kurz Visual Studio Code ukazuje, ako IDE skutočne zvyšujú vašu produktivitu vývoja TypeScript.
  • Výukový program pre strojopisov pre začiatočníkov: Chýbajúci sprievodca je skutočne dôkladný úvod, ktorý bude užitočný, aj keď máte pomerne obmedzené skúsenosti s používaním JavaScriptu.

Ak sa chcete dozvedieť, ako používať TypeScript s Reactom, Knižnica JavaScript na vytváranie používateľských rozhraní vyvinutá spoločnosťou Facebook, pozrite si časť Ako používať TypeScript s React a Redux od Rossa Bulata a časť React and webpack v dokumentácii TypeScript. Šťastné učenie! 

$config[zx-auto] not found$config[zx-overlay] not found