Programmēšana

Kas ir TypeScript? Stingri ievadīts JavaScript

Kas ir TypeScript? Definēts TypeScript

TypeScript ir populārās JavaScript programmēšanas valodas variācija, kas pievieno dažas galvenās funkcijas, kas ir svarīgas uzņēmuma attīstībai. Jo īpaši TypeScript ir stingri rakstīts - tas ir, mainīgos un citas datu struktūras programmētājs var pasludināt par noteikta veida, piemēram, virkni vai loģisko, un TypeScript pārbaudīs to vērtību derīgumu. Tas nav iespējams JavaScript, kas ir brīvi rakstīts.

Spēcīgā TypeScript rakstīšana ļauj veikt vairākas funkcijas, kas palīdz izstrādātājiem padarīt efektīvākus, jo īpaši, strādājot ar liela uzņēmuma mēroga koda bāzēm. TypeScript tiek kompilēts, nevis interpretēts kā JavaScript, kas nozīmē, ka kļūdas var notvert pirms izpildes; IDE, kas veic fona pakāpenisku kompilāciju, kodēšanas procesā var pamanīt šādas kļūdas.

Neskatoties uz šo galveno atšķirību no JavaScript, TypeScript joprojām var izpildīt visur, kur var palaist JavaScript. Tas ir tāpēc, ka TypeScript kompilē nevis binārā izpildāmā failā, bet gan standarta JavaScript. Ienirstam, lai uzzinātu vairāk.

TypeScript pret JavaScript 

TypeScript ir a superset JavaScript. Lai arī jebkurš pareizs JavaScript kods ir pareizs TypeScript kods, TypeScript ir arī valodas funkcijas, kas nav JavaScript daļa. Vissvarīgākā iezīme, kas unikāla TypeScript - tā, kas piešķīra TypeScript nosaukumu, ir, kā norādīts, spēcīga rakstīšana: TypeScript mainīgais ir saistīts ar tips, piemēram, virkne, skaitlis vai būla skaitlis, kas kompilatoram norāda, kāda veida datus tā var glabāt. Turklāt TypeScript atbalsta tipa secinājumus un ietver visu veidu apvienoto nozīmi, kas nozīmē, ka mainīgajiem nav jābūt skaidri norādītiem programmētāja veidiem; vairāk par to vienā mirklī.

TypeScript ir paredzēts arī objektorientētai programmēšanai - JavaScript, ne tik daudz. Tādus jēdzienus kā mantošana un piekļuves kontrole, kas JavaScript nav intuitīvi, ir vienkārši ieviest TypeScript. Turklāt TypeScript ļauj jums ieviest saskarnes - lielākoties bezjēdzīgu jēdzienu JavaScript pasaulē.

Tas nozīmē, ka nav tādas funkcijas, kuras jūs varētu kodēt TypeScript, un kuras nevarētu kodēt arī JavaScript. Tas ir tāpēc, ka TypeScript nav kompilēts parastā nozīmē - piemēram, veids, kā C ++ tiek apkopots binārā izpildāmajā failā, kas var darboties ar noteiktu aparatūru. Tā vietā TypeScript kompilators pārkodēt TypeScript kods funkcionāli līdzvērtīgā JavaScript. Šajā rakstā no Šona Maksvela vietnē GitConnected ir daži lieliski objektorientētu TypeScript kodu fragmentu un to JavaScript ekvivalentu piemēri. Iegūto JavaScript var palaist jebkurā JavaScript kodā, sākot no tīmekļa pārlūkprogrammas līdz serverim, kas aprīkots ar Node.js.

Tātad, ja TypeScript galu galā ir tikai iedomāts veids, kā ģenerēt JavaScript kodu, kāpēc gan ar to uztraukties? Lai atbildētu uz šo jautājumu, mums jāaplūko, no kurienes TypeScript radās un kam tas tiek izmantots.

Kāpēc tiek izmantots TypeScript?

TypeScript kā atvērtais avots tika izlaists 2012. gadā pēc tam, kad tas tika izstrādāts Microsoft. (Programmatūras gigants joprojām ir projekta pārvaldnieks un galvenais izstrādātājs.) Šis tā laika ZDNet raksts piedāvā intriģējošu ieskatu, kāpēc tas notika: “Izrādās, viena no lielākajām motivācijām bija citu Microsoft komandu pieredze, kuras mēģināja attīstīties. un uzturēt Microsoft produktus JavaScript. ”

Tajā laikā Microsoft mēģināja palielināt Bing Maps kā konkurentu pakalpojumam Google Maps, kā arī piedāvāt sava Office komplekta tīmekļa versijas - un Java bija galvenā uzdevumu izstrādes valoda. Bet izstrādātājiem būtībā bija grūti rakstīt lietotnes Microsoft vadošo piedāvājumu mērogā, izmantojot JavaScript. Tāpēc viņi izstrādāja TypeScript, lai atvieglotu uzņēmuma līmeņa lietojumprogrammu izveidi darbībai JavaScript vidēs. Tas ir valodas, kas atrodas oficiālajā TypeScript projekta vietnē, motīvs: “JavaScript, kas mērogojas”.

Kāpēc TypeScript ir labāks šāda veida darbiem nekā vaniļas JavaScript? Nu, mēs varam uz visiem laikiem strīdēties par objektorientētās programmēšanas nopelniem, taču realitāte ir tāda, ka daudzi programmatūras izstrādātāji, kas strādā pie lieliem uzņēmumu projektiem, ir pie tā pieraduši, un tas palīdz koda atkārtotai izmantošanai kā balonu izmēra projektiem. Nevajadzētu aizmirst arī par to, cik lielā mērā rīki var uzlabot izstrādātāju produktivitāti. Kā atzīmēts, lielākā daļa uzņēmuma IDE atbalsta fona pakāpenisku apkopošanu, kas var pamanīt kļūdas, strādājot. (Kamēr kods ir sintaktiski pareizs, tas tik un tā tiks pārraidīts, taču iegūtais JavaScript, iespējams, nedarbosies pareizi; domājiet par kļūdu pārbaudi kā pareizrakstības pārbaudes ekvivalentu.) Šie IDE var arī palīdzēt jums refaktora kodu, kad jūs nonākat dziļi savā projektu.

Īsāk sakot, TypeScript tiek izmantots, ja vēlaties uzņēmuma valodas funkcijas un rīkus, piemēram, Java, taču jums ir nepieciešams kods, lai izpildītu JavaScript vidē. Teorētiski jūs varētu uzrakstīt standarta JavaScript, kuru pats TypeScript kompilators ģenerē, taču tas prasītu jums daudz ilgāku laiku, un lielai komandai koda bāzi būtu grūtāk kopīgi saprast un atkļūdot.

Ak, un TypeScript ir vēl viens veikls triks - tas var iestatīt kompilatoru mērķauditorijai noteiktā JavaScript izpildlaika vidē, pārlūkprogrammā vai pat valodas versijā. Tā kā jebkurš labi izveidots JavaScript kods ir arī TypeScript kods, varat, piemēram, paņemt kodu, kas rakstīts ECMAScript 2015 spec, kurā bija iekļautas vairākas jaunas sintaktiskās funkcijas, un apkopot to JavaScript kodā, kas būtu saderīgs ar vecajām versijām. valoda.

Instalējiet TypeScript

Vai esat gatavs sākt spēlēt ar TypeScript? Valodas instalēšana ir vienkārša. Ja savā izstrādes mašīnā jau izmantojat Node.js, tā instalēšanai varat izmantot NM. Node.js pakotņu pārvaldnieku. Oficiālā TypeScript 5 minūšu apmācība palīdzēs jums iepazīties ar procesu.

TypeScript var instalēt arī kā spraudni jūsu izvēlētajam IDE, kas jums dos rīku priekšrocības, par kurām mēs runājām iepriekš, un rūpēsies arī par TypeScript sastādīšanas procesu JavaScript. Tā kā TypeScript ir izstrādājusi Microsoft, nav pārsteidzoši, ka Visual Studio un Visual Studio Code ir pieejami augstas kvalitātes spraudņi. Bet kā atvērtā pirmkoda projekts TypeScript ir pielāgots visur, sākot no atvērtā pirmkoda IDE, piemēram, Eclipse, līdz cienījamiem teksta redaktoriem, piemēram, Vim. Un visu projektu var pārlūkot un lejupielādēt vietnē GitHub.

TypeScript sintakse

Kad TypeScript ir instalēts, varat sākt pētīt, un tas nozīmē izprast TypeScript sintakses pamatus. Tā kā JavaScript ir TypeScript pamats, pirms darba uzsākšanas jums jāzina JavaScript. Neapšaubāmi, jūsu galvenie interesējošie punkti būs tipam raksturīgās funkcijas, kas valodu padara unikālu; mēs šeit pieskaramies augstākajiem punktiem.

TypeScript tipi

Acīmredzot vissvarīgākā sintaktiskā iezīme TypeScript ir tipu sistēma. Valoda atbalsta vairākus pamata veidus:

  • Būla: vienkārša patiesa / nepatiesa vērtība.
  • Skaitlis: TypeScript, tāpat kā JavaScript, visi skaitļi ir peldošā komata vērtības - nav atsevišķa vesela skaitļa. TypeScript atbalsta decimāldaļu, heksadecimālo, bināro un astotdaļu litālus.
  • Virkne: teksta datu virkne. Iestatot datus, varat izmantot atsevišķas vai dubultas pēdiņas, lai apņemtu virkni. Varat arī izmantot backticks ( ` ), lai ieskautu virknes ar vairākām līnijām, un jūs varat iegult izteiksmes virknē ar sintaksi $ {expr}.
  • Masīvi un kopas: šie veidi ļauj saglabāt vairākas vērtības noteiktā secībā. Masīvā atsevišķām vērtībām ir viens un tas pats datu tips, savukārt virknē tās var būt neviendabīgas. TypeScript katram() metodi izmanto, lai izsauktu funkciju katram masīva elementam.
  • Enum: tāpat kā tāda paša nosaukuma tips C #, arī TypeScript enum ļauj piešķirt skaitlisko vērtību secībai cilvēkiem lasāmus vārdus.
  • Jebkurš: tas ir mainīgā tips, kurā jūs ne vienmēr zināt, kādai vērtībai tas nonāks, piemēram, vērtības var ņemt, piemēram, no lietotāja ievades vai trešās puses bibliotēkas.
  • Objekts: tas ir tips, kas apzīmē visu, kas nav primitīvs; tas ir būtiski TypeScript objektorientētajam raksturam.

Ir divi dažādi veidi, kā nepārprotami piešķirt mainīgajam tipu. Pirmais ir leņķa kronšteinu sintakse:

let someValue: jebkurš;

ļaujiet strLength: skaitlis = (someValue) .length;

Un otrais ir sintakse:

let someValue: any = "šī ir virkne";

ļaujiet strLength: number = (someValue kā virkne) .length;

Šie koda fragmenti, kas ņemti no TypeScript dokumentācijas, ir funkcionāli līdzvērtīgi. Abi definē someValue kā tipa mainīgais jebkurš un piešķirt "šī ir virkne" kā tā vērtību, pēc tam definējiet strLength kā skaitli un kā tā vērtību piešķiriet satura garumu someValue.

TypeScript tipus var iestatīt arī ar secinājumu. Tas ir, ja jūs iestatāt vērtību x uz 7, nenosakot, kāds ir x tips, kompilators pieņems, ka x jābūt skaitlim. Dažos gadījumos sastādītājs var secināt jebkurš tipa, lai gan varat izmantot kompilācijas karodziņus, lai pārliecinātos, ka tā nav.

TypeScript tipa sistēma ir diezgan bagāta un pārsniedz šī raksta darbības jomu. Ir vairāki uzlabotas un lietderības veidi; Tie ietver savienojumu veidus, kas ļauj noteikt, ka mainīgais būs viens no vairākiem norādītajiem tipiem, un kartētie tipi, kurus varat izveidot, pamatojoties uz esošu tipu, kurā jūs pārveidojat katru esošā tipa īpašumu vienā un tajā pašā veidā veidā. Piemēram, jūs varētu izveidot savienojuma tipu mainīgajam, kuru vēlaties izmantot kā skaitli, vai būla skaitli, bet ne virkni vai jebko citu; vai arī jūs varētu izveidot kartētu tipu, kas visus masīva elementus iestata tikai lasāmiem.

TypeScript saskarne

Tāpat kā lielākajai daļai objektorientēto valodu, arī TypeScript ir saskarnes, kas lietotājiem ļauj definēt savus veidus. Saskarnes nosaka objekta īpašības, kā arī tipus, kas saistīti ar šīm īpašībām. TypeScript saskarnēm var būt izvēles īpašības. Plašāku informāciju par sintaksi skatiet TypeScript dokumentācijā.

TypeScript vispārīgie

Arī TypeScript dalās ar jēdzienu sugas ar objektorientētām valodām, piemēram, Java un C #. (Līdzvērtīgu iespēju C ++ sauc par a veidne.) TypeScript vispārīgie komponenti var darboties vairākos veidos, nevis tikai vienā, atkarībā no tā, kur kodā šie komponenti tiek saukti. Šeit ir ļoti vienkāršs piemērs no TypeScript dokumentācijas. Vispirms apsveriet šo funkciju, kas iekļauj argumentu un pēc tam tūlīt to atgriež:

funkcijas identitāte (arg: jebkura): jebkura {

atgriezties arg;

}

Tā kā funkcija ir definēta ar jebkurš tips, tas pieņem jebkura veida argumentu, kuru izvēlaties mest pie tā. Tomēr tas, ko tas atdos, būs jebkurš tips. Tālāk ir sniegta funkcijas versija, izmantojot vispārīgus:

funkcijas identitāte (arg: T): T {

atgriezties arg;

}

Šis kods ietver tipa mainīgais T, kas uztver ienākošā argumenta veidu un saglabā to vēlākai lietošanai.

Ir daudz vairāk vispārīgo, kas ir galvenais, lai padarītu koda atkārtotu izmantošanu liela uzņēmuma projektā iespējamu. Lai iegūtu sīkāku informāciju, skatiet TypeScript dokumentāciju.

TypeScript klase 

Objektorientētā programmēšanā klases manto funkcionalitāti un, savukārt, kalpo par objektu celtniecības blokiem. JavaScript tradicionāli neizmantoja klases, tā vietā paļaujoties uz funkcijām un uz prototipu balstītu mantojumu, taču jēdziens tika pievienots valodai kā daļa no ECMAScript 2015 standarta versijas. Klases jau bija iekļāvušas TypeScript, un tagad TypeScript izmanto to pašu sintaksi kā JavaScript. Viena no TypeScript kompilatora priekšrocībām ir tā, ka tas var pārveidot kodu ar JavaScript klasēm par mantotu JavaScript kodu, kas atbilst standartiem pirms 2015. gada.

TypeScript datums

Datuma un laika iegūšanai un iestatīšanai TypeScript ir pieejamas vairākas metodes un objekti, kas galvenokārt tiek mantoti no JavaScript. JavaTPoint ir labi aprakstīts, kā tas darbojas.

TypeScript apmācība 

Vai esat gatavs iedziļināties? Esiet ātrāks, izmantojot šīs TypeScript apmācības:

  • TypeScript pēc 5 minūtēm palīdzēs jums veikt TypeScript instalēšanas procesu, ja vēl neesat to izdarījis.
  • Šī Visual Studio koda apmācība parāda, kā IDE patiešām papildina jūsu TypeScript izstrādes produktivitāti.
  • TypeScript apmācība iesācējiem: Pazudušais ceļvedis ir patiešām pamatīgs ievads, kas būs noderīgs pat tad, ja jums ir diezgan ierobežota JavaScript pieredze.

Ja vēlaties uzzināt, kā izmantot TypeScript ar React, Facebook izstrādāto JavaScript bibliotēku lietotāja interfeisu veidošanai, skatiet Ross Bulata rakstu Kā izmantot TypeScript ar React un Redux un TypeScript dokumentācijas sadaļā React un webpack. Laimīgu mācīšanos! 

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