Programování

Co je TypeScript? Silně napsaný JavaScript

Co je TypeScript? Definován strojopis

TypeScript je variace populárního programovacího jazyka JavaScript, která přidává některé klíčové funkce, které jsou důležité pro vývoj podniku. Zejména TypeScript je silně napsaný - to znamená, že programátor může deklarovat, že proměnné a další datové struktury jsou konkrétního typu, například řetězce nebo booleovské hodnoty, a TypeScript ověří platnost jejich hodnot. V JavaScriptu to není možné, což je volně napsané.

Silné psaní TypeScript umožňuje řadu funkcí, které pomáhají vývojářům zefektivnit práci, zejména při práci s rozsáhlými databázemi v podnikovém měřítku. TypeScript je kompilován, spíše než interpretován jako JavaScript, což znamená, že před spuštěním mohou být zachyceny chyby; IDE, které provádějí přírůstkovou kompilaci na pozadí, mohou takové chyby během procesu kódování spatřit.

Přes tento klíčový rozdíl oproti JavaScriptu lze TypeScript stále vykonávat kdekoli, kde lze spustit JavaScript. Je to proto, že TypeScript není kompilován do binárního spustitelného souboru, ale do standardního JavaScriptu. Pojďme se ponořit a zjistit více.

TypeScript vs. JavaScript 

TypeScript je a nadmnožina JavaScript. Zatímco jakýkoli správný kód JavaScriptu je také správný kód TypeScript, TypeScript má také jazykové funkce, které nejsou součástí JavaScriptu. Nejvýznamnějším rysem jedinečným pro TypeScript - tím, který pojmenoval TypeScript - je, jak bylo uvedeno, silné psaní: proměnná TypeScript je spojena s typ, jako řetězec, číslo nebo boolean, který říká kompilátoru, jaký druh dat může obsahovat. TypeScript navíc podporuje odvození typu a obsahuje catch-all jakýkoli typ, což znamená, že proměnné nemusí mít své typy explicitně přiřazené programátorem; více o tom za okamžik.

TypeScript je také navržen pro objektově orientované programování - JavaScript, ne tolik. Koncepty jako dědičnost a řízení přístupu, které nejsou v JavaScriptu intuitivní, se snadno implementují v TypeScriptu. TypeScript navíc umožňuje implementovat rozhraní, což je ve světě JavaScriptu do značné míry nesmyslný koncept.

To znamená, že v TypeScriptu nemůžete kódovat žádné funkce, které byste také nemohli kódovat v JavaScriptu. Je to proto, že TypeScript není kompilován v konvenčním smyslu - například C ++ je kompilován do binárního spustitelného souboru, který lze spustit na určeném hardwaru. Místo toho kompilátor TypeScript transkóduje Kód TypeScript do funkčně ekvivalentního JavaScriptu. Tento článek od Seana Maxwella na GitConnected obsahuje několik skvělých příkladů objektově orientovaných fragmentů kódu TypeScript a jejich ekvivalentů JavaScriptu. Výsledný JavaScript lze poté spustit kdekoli, kde lze spustit jakýkoli kód JavaScript, od webového prohlížeče po server vybavený Node.js.

Takže pokud je TypeScript nakonec jen fantazijní způsob generování kódu JavaScript, proč se s ním obtěžovat? Abychom na tuto otázku mohli odpovědět, musíme se podívat, odkud TypeScript pochází a k čemu se používá.

K čemu se TypeScript používá?

TypeScript byl vydán jako otevřený zdroj v roce 2012 poté, co byl vyvinut v Microsoftu. (Softwarový gigant zůstává správcem a hlavním vývojářem projektu.) Tento článek ZDNet z té doby nabízí zajímavý pohled na to, proč se to stalo: „Ukázalo se, že jednou z velkých motivací byla zkušenost ostatních týmů společnosti Microsoft, kteří se pokoušeli vyvinout a udržovat produkty Microsoft v JavaScriptu. “

V té době se společnost Microsoft pokoušela rozšířit Bing Maps jako konkurenta Map Google, stejně jako nabídnout webové verze své sady Office - a JavaScript byl primárním vývojovým jazykem pro tyto úkoly. Vývojáři však v podstatě zjistili, že je obtížné psát aplikace v rozsahu nabídky vlajkových lodí společnosti Microsoft pomocí JavaScriptu. Takže vyvinuli TypeScript, aby usnadnili vytváření aplikací na podnikové úrovni pro provoz v prostředích JavaScriptu. To je podstata sloganu pro jazyk na oficiálním webu projektu TypeScript: „JavaScript, který se mění.“

Proč je TypeScript pro tento druh práce lepší než vanilkový JavaScript? O výhodách objektově orientovaného programování můžeme navždy polemizovat, ale realita je taková, že mnozí vývojáři softwaru, kteří pracují na velkých podnikových projektech, jsou na to zvyklí, a to pomáhá při opětovném použití kódu jako velikosti projektu. Také byste neměli zanedbávat, do jaké míry mohou nástroje zvýšit produktivitu vývojářů. Jak již bylo uvedeno, většina podnikových IDE podporuje přírůstkovou kompilaci na pozadí, která může při práci rozpoznávat chyby. (Pokud je váš kód syntakticky správný, bude se i nadále transpilovat, ale výsledný JavaScript nemusí fungovat správně; myslete na kontrolu chyb jako na ekvivalent kontroly pravopisu.) Tyto IDE vám také mohou pomoci refaktorovat kód, jak se dostanete hluboko do svého projekt.

Stručně řečeno, TypeScript se používá, když chcete podnikové funkce a nástroje jazyka, jako je Java, ale potřebujete svůj kód ke spuštění v prostředí JavaScriptu. Teoreticky byste mohli napsat standardní JavaScript, který kompilátor TypeScript vygeneruje sám, ale trvalo by vám to mnohem déle a kódový základ by pro velký tým těžko kolektivně pochopil a ladil.

Oh, a TypeScript má v rukávu ještě jeden úhledný trik: Můžete nastavit kompilátor tak, aby cílil na konkrétní běhové prostředí JavaScriptu, prohlížeč nebo dokonce jazykovou verzi. Jelikož jakýkoli dobře vytvořený kód JavaScriptu je také kódem TypeScript, můžete například převzít kód zapsaný do specifikace ECMAScript 2015, který zahrnoval řadu nových syntaktických funkcí, a zkompilovat jej do kódu JavaScript, který by byl kompatibilní se staršími verzemi jazyk.

Nainstalujte TypeScript

Jste připraveni začít hrát s TypeScriptem? Instalace jazyka je snadná. Pokud již na svém vývojovém počítači používáte Node.js, můžete k jeho instalaci použít NPM, správce balíčků Node.js. Procesem vás provede oficiální výukový program TypeScript za 5 minut.

TypeScript lze také nainstalovat jako zásuvný modul do vašeho IDE dle vašeho výběru, což vám poskytne výhody nástrojů, o kterých jsme mluvili výše, a také se postará o proces kompilace TypeScript do JavaScriptu. Vzhledem k tomu, že TypeScript byl vyvinut společností Microsoft, není překvapením, že pro Visual Studio a Visual Studio Code jsou k dispozici vysoce kvalitní zásuvné moduly. Ale jako projekt s otevřeným zdrojovým kódem byl TypeScript přizpůsoben všude, od IDE otevřeného zdroje, jako je Eclipse, po ctihodné textové editory, jako je Vim. Celý projekt lze procházet a stahovat z GitHubu.

Syntaxe strojopisu

Jakmile je TypeScript nainstalován, jste připraveni začít zkoumat, a to znamená porozumět základům syntaxe TypeScript. Vzhledem k tomu, že JavaScript je základem TypeScript, musíte se s JavaScriptem seznámit, než začnete. Bezpochyby vašimi hlavními body zájmu budou funkce specifické pro TypeScript, díky nimž je jazyk jedinečný; zde se dotkneme vysokých bodů.

Typy TypeScript

Samozřejmě nejdůležitější syntaktickou funkcí v TypeScriptu je typový systém. Jazyk podporuje řadu základních typů:

  • Boolean: Jednoduchá hodnota true / false.
  • Číslo: V TypeScriptu, stejně jako v JavaScriptu, jsou všechna čísla s plovoucí desetinnou čárkou - neexistuje žádné samostatné celé číslo. TypeScript podporuje desítkové, hexadecimální, binární a osmičkové literály.
  • Řetězec: Řetězec textových dat. Při nastavování dat můžete k obklopení řetězce použít jednoduché nebo dvojité uvozovky. Můžete také použít backticks ( ` ) k obklopení řetězců několika řádky a výrazy můžete vložit do řetězce se syntaxí $ {expr}.
  • Pole a n-tice: Tyto typy vám umožňují ukládat více hodnot v zadaném pořadí. V poli jsou jednotlivé hodnoty stejného datového typu, zatímco v n-tici mohou být heterogenní. TypeScript pro každého() metoda se používá k volání funkce na každém prvku v poli.
  • Výčet: Stejně jako typ stejného jména v C #, výčet TypeScript umožňuje přiřadit lidsky čitelné názvy k posloupnosti číselných hodnot.
  • Libovolný: Toto je typ proměnné, kde předem nevíte, jakou hodnotu nakonec získá - její hodnoty může převzít například od vstupu uživatele nebo knihovny třetí strany.
  • Object: Toto je typ, který představuje vše, co není primitivní; je to nezbytné pro objektově orientovanou povahu TypeScriptu.

Existují dva různé způsoby, jak explicitně přiřadit typ proměnné. První je syntaxe úhlové závorky:

let someValue: any;

let strLength: number = (someValue) .length;

A druhý je tak jako syntax:

let someValue: any = "toto je řetězec";

let strLength: number = (someValue as string) .length;

Tyto fragmenty kódu, které jsou převzaty z dokumentace TypeScript, jsou funkčně ekvivalentní. Oba definují someValue jako proměnná typu žádný a přiřadit "toto je řetězec" jako jeho hodnotu, pak definujte strLength jako číslo a jako jeho hodnota přiřadit délku obsahu someValue.

Typy TypeScript lze také nastavit odvozením. To znamená, že pokud nastavíte hodnotu x na 7 bez stanovení, jaký typ x je, bude kompilátor předpokládat, že x by mělo být číslo. Za určitých okolností může kompilátor odvodit žádný zadejte, i když můžete použít příznaky kompilace, abyste se ujistili, že tomu tak není.

Systém typů TypeScript je poměrně bohatý a jde nad rámec tohoto článku. Existuje řada pokročilých typů a nástrojů; mezi ně patří sjednocující typy, které vám umožní určit, že proměnná bude jedním z několika zadaných typů, a mapované typy, což jsou typy, které můžete vytvořit na základě existujícího typu, ve kterém transformujete každou vlastnost v existujícím typu ve stejný způsob. Můžete například vytvořit sjednocující typ pro proměnnou, kterou chcete buď jako číslo, nebo jako boolean, ale ne jako řetězec nebo cokoli jiného; nebo můžete vytvořit mapovaný typ, který nastaví všechny prvky v poli pouze na čtení.

Rozhraní TypeScript

Stejně jako většina objektově orientovaných jazyků má TypeScript rozhraní, která uživatelům umožňují definovat jejich vlastní typy. Rozhraní určují vlastnosti, které má objekt, spolu s typy přidruženými k těmto vlastnostem. Rozhraní TypeScript mohou mít volitelné vlastnosti. Další informace o syntaxi najdete v dokumentaci TypeScript.

Generické typy strojopisu

TypeScript také sdílí koncept generika s objektově orientovanými jazyky, jako je Java a C #. (Ekvivalentní zařízení v C ++ se nazývá a šablona.) V TypeScriptu mohou obecné komponenty pracovat nad různými typy, nikoli pouze nad jedním, podle toho, kde se v kódu tyto komponenty nazývají. Zde je velmi jednoduchý příklad z dokumentace TypeScript. Nejprve zvažte tuto funkci, která přijme argument a poté jej okamžitě vrátí:

funkční identita (arg: libovolná): libovolná {

návrat arg;

}

Protože funkce je definována pomocí žádný typu, přijme argument jakéhokoli typu, který se na něj rozhodnete hodit. Co však vrátí, bude z žádný typ. Tady je verze funkce využívající generika:

funkční identita (arg: T): T {

návrat arg;

}

Tento kód obsahuje proměnná typu T, který zachycuje typ příchozího argumentu a ukládá jej pro pozdější použití.

Generik je mnohem více, což je klíčem k tomu, aby bylo možné ve velkých podnikových projektech opětovně použít kód. Podrobnosti najdete v dokumentaci TypeScript.

Třída TypeScript 

V objektově orientovaném programování třídy zdědit funkčnost a následně sloužit jako stavební kameny objektů. JavaScript tradičně nepoužíval třídy, místo toho se spoléhal na funkce a prototypové dědičnosti, ale koncept byl do jazyka přidán jako součást verze standardu ECMAScript 2015. Třídy již byly součástí TypeScript a nyní TypeScript používá stejnou syntaxi jako JavaScript. Jednou z výhod kompilátoru TypeScript je, že může transformovat kód pomocí tříd JavaScriptu na starší kód JavaScript, který odpovídá standardům před rokem 2015.

Datum strojopisu

Existuje mnoho metod a objektů k získání a nastavení data a času v TypeScript, většinou zděděných z JavaScriptu. JavaTPoint má dobrý přehled o tom, jak to funguje.

Výukový program pro strojopis 

Jste připraveni jít hlouběji? Získejte rychlost díky těmto výukovým programům TypeScript:

  • TypeScript za 5 minut vás provede procesem instalace TypeScript, pokud jste tak ještě neučinili.
  • Tento kurz Visual Studio Code ukazuje, jak IDE skutečně zvyšují vaši produktivitu vývoje TypeScript.
  • Výukový program pro strojopisy pro začátečníky: Chybějící průvodce je opravdu důkladný úvod, který bude užitečný, i když máte poměrně omezené zkušenosti s JavaScriptem.

Pokud se chcete dozvědět, jak používat TypeScript s Reactem, Knihovna JavaScript pro vytváření uživatelských rozhraní vyvinutá společností Facebook, podívejte se na Jak používat TypeScript s React a Redux od Rosse Bulata a část React and webpack v dokumentaci TypeScript. Šťastné učení! 

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