Programiranje

Kaj je TypeScript? Močno natipkan JavaScript

Kaj je TypeScript? Določen TypeScript

TypeScript je različica priljubljenega programskega jezika JavaScript, ki doda nekaj ključnih funkcij, pomembnih za razvoj podjetja. Zlasti TypeScript je močno natipkan - to pomeni, da lahko programer razglasi, da so spremenljivke in druge podatkovne strukture določene vrste, na primer niz ali logična vrednost, TypeScript pa bo preveril veljavnost njihovih vrednosti. To ni mogoče v JavaScript, kar je ohlapno natipkan.

Močno tipkanje Typescripta omogoča številne funkcije, ki razvijalcem pomagajo postati učinkovitejši, zlasti pri obravnavi velikih kodnih baz v velikem podjetju. TypeScript se prevaja in ne razlaga kot JavaScript, kar pomeni, da lahko napake zaznamo pred izvedbo; IDE-ji, ki izvajajo inkrementalno prevajanje v ozadju, lahko med postopkom kodiranja opazijo takšne napake.

Kljub tej ključni razliki do JavaScripta je TypeScript še vedno mogoče izvajati povsod, kjer lahko deluje JavaScript. To pa zato, ker TypeScript ne prevaja v binarno izvedljivo datoteko, temveč v standardni JavaScript. Potopimo se, če želite izvedeti več.

TypeScript v primerjavi z JavaScriptom 

TypeScript je nadnabor JavaScript. Čeprav je katera koli pravilna koda JavaScript tudi pravilna koda TypeScript, ima TypeScript tudi jezikovne funkcije, ki niso del JavaScript. Najpomembnejša značilnost, ki je edinstvena za TypeScript - tista, ki ji je dala ime - je, kot smo že omenili, močno tipkanje: spremenljivka TypeScript je povezana z tip, kot niz, številka ali logična vrednost, ki prevajalniku pove, katere podatke lahko hrani. Poleg tega TypeScript podpira sklepanje o tipih in vključuje vse vrste ulova, kar pomeni, da programerju ni treba, da spremenljivkam izrecno dodeli svoje vrste; več o tem v trenutku.

TypeScript je zasnovan tudi za objektno usmerjeno programiranje - JavaScript, ne toliko. Koncepti, kot sta dedovanje in nadzor dostopa, ki v JavaScript niso intuitivni, so preprosti za uporabo v Typecriptu. Poleg tega TypeScript omogoča izvajanje vmesnikov, ki je v svetu JavaScript v veliki meri nesmiseln koncept.

Kljub temu ni nobene funkcije, ki bi jo lahko kodirali v TypeScript, ki je ne bi mogli kodirati tudi v JavaScript. To je zato, ker TypeScript ni preveden v običajnem smislu - tako je na primer C ++ preveden v binarno izvedljivo datoteko, ki se lahko izvaja na določeni strojni opremi. Namesto tega prevajalnik TypeScript prekodira Koda TypeScript v funkcionalno enakovreden JavaScript. Ta članek Seana Maxwella na spletnem mestu GitConnected vsebuje nekaj odličnih primerov objektno usmerjenih delčkov kode TypeScript in njihovih enakovrednih JavaScript. Nastali JavaScript lahko nato zaženete kjer koli lahko izvaja katero koli kodo JavaScript, od spletnega brskalnika do strežnika, opremljenega z Node.js.

Torej, če je TypeScript na koncu le moden način za generiranje kode JavaScript, zakaj bi se z njo trudil? Za odgovor na to vprašanje moramo preučiti, od kod TypeScript in za kaj se uporablja.

Za kaj se uporablja TypeScript?

TypeScript je bil izdan kot odprtokodni leta 2012, potem ko je bil razvit v Microsoftu. (Programski velikan ostaja skrbnik in glavni razvijalec projekta.) Ta članek ZDNet iz tistega časa ponuja zanimiv vpogled v to, zakaj se je to zgodilo: "Izkazalo se je, da je bila ena največjih motivacij izkušnja drugih ekip v Microsoftu, ki so poskušale razviti in vzdržujte Microsoftove izdelke v JavaScript. "

V tistem času je Microsoft poskušal razširiti Bing Maps kot konkurenta Google Maps, pa tudi ponuditi spletne različice svoje zbirke Office - in JavaScript je bil glavni razvojni jezik za naloge. Toda razvijalci so v bistvu težko pisali aplikacije v obsegu Microsoftove vodilne ponudbe z uporabo JavaScript. Zato so razvili TypeScript, da bi olajšali izdelavo aplikacij na ravni podjetja za izvajanje v okoljih JavaScript. To je duh za sloganom za jezik na uradni strani projekta TypeScript: »JavaScript, ki se spreminja«.

Zakaj je TypeScript za tovrstno delo boljši od vanilijevega JavaScript? No, lahko se večno prepiramo o prednostih objektno usmerjenega programiranja, toda resničnost je taka, da so ga mnogi razvijalci programske opreme, ki delajo na velikih podjetniških projektih, navajeni in pomaga pri ponovni uporabi kode kot velikosti projektov. Prav tako ne smete zanemariti, v kolikšni meri lahko orodja povečajo produktivnost razvijalcev. Kot smo že omenili, večina IDE za podjetja podpira postopno prevajanje v ozadju, ki lahko med delom opazi napake. (Dokler je vaša koda skladenjsko pravilna, se bo še vedno prevajala, vendar nastali JavaScript morda ne bo deloval pravilno; pomislite na preverjanje napak kot na enakovredno preverjanje črkovanja.) Ti IDE-ji vam lahko pomagajo tudi pri predelavi kode, ko se poglobite v svoj projekt.

Skratka, TypeScript se uporablja, kadar želite funkcije podjetja in orodja jezika, kot je Java, vendar morate kodo izvajati v okolju JavaScript. Teoretično lahko napišete standardni JavaScript, ki ga ustvari prevajalnik TypeScript sami, vendar bi vam vzelo veliko več časa in bi bila številčna skupina težje skupno razumeti in odpraviti napake.

Oh, in TypeScript ima v rokavu še en fin trik: prevajalnik lahko nastavite tako, da cilja na določeno okolje izvajanja JavaScript, brskalnik ali celo jezikovno različico. Ker je katera koli dobro oblikovana koda JavaScript tudi koda TypeScript, lahko na primer vzamete kodo, napisano v specifikacijo ECMAScript 2015, ki vključuje številne nove sintaksične funkcije, in jo sestavite v kodo JavaScript, ki bi bila skladna s starejšimi različicami jezik.

Namestite TypeScript

Ste pripravljeni začeti igrati s TypeScriptom? Namestitev jezika je enostavna. Če na svojem razvojnem računalniku že uporabljate Node.js, lahko za namestitev uporabite NPM, upravitelja paketov Node.js. Uradna TypeScript v 5 minutah vas bo vodila skozi postopek.

TypeScript lahko namestite tudi kot vtičnik za vaš izbrani IDE, kar vam bo dalo prednosti orodja, o katerih smo govorili zgoraj, in tudi poskrbel za postopek prevajanja Typecripta v JavaScript. Ker je TypeScript razvil Microsoft, ni presenetljivo, da so za Visual Studio in Visual Studio Code na voljo visokokakovostni vtičniki. Toda kot odprtokodni projekt je bil TypeScript prilagojen povsod, od odprtokodnih IDE-jev, kot je Eclipse, do častitljivih urejevalnikov besedil, kot je Vim. In celoten projekt lahko brskate in prenašate iz GitHub.

Sintaksa TypeScript

Ko je TypeScript nameščen, ste pripravljeni na raziskovanje, kar pomeni razumevanje osnov sintakse TypeScript. Ker je JavaScript osnova Typecripta, morate pred začetkom poznati JavaScript. Brez dvoma bodo vaše glavne zanimive točke značilnosti TypeScript, zaradi katerih je jezik edinstven; tu se bomo dotaknili visokih točk.

Vrste TypeScript

Očitno je najpomembnejša skladenjska značilnost TypeScript sistem tipov. Jezik podpira številne osnovne vrste:

  • Logična vrednost: preprosta vrednost true / false.
  • Število: V Typecriptu, tako kot v JavaScript, so vse številke s plavajočo vejico - ni ločenih celih števil. TypeScript podpira decimalne, šestnajstiške, binarne in osmiške literale.
  • Niz: niz besedilnih podatkov. Pri nastavljanju podatkov lahko obdajate niz z enojnimi ali dvojnimi narekovaji. Uporabite lahko tudi povratne tipke ( ` ), da obdaja nize z več vrsticami, izraze pa lahko v sintakso vdelate v niz $ {expr}.
  • Polja in nabori: ti tipi omogočajo shranjevanje več vrednosti v določenem zaporedju. V polju so posamezne vrednosti istega tipa podatkov, medtem ko so v naboru lahko heterogene. TypeScript za vsakogar() metoda se uporablja za klicanje funkcije na vsakem elementu polja.
  • Enum: Tako kot tip istega imena v C #, tudi TypeScript enum omogoča, da zaporedju številskih vrednosti dodelite človekom berljiva imena.
  • Kateri koli: to je vrsta za spremenljivko, pri kateri ni nujno, da vnaprej veste, s katero vrednostjo bo končana - vrednosti lahko na primer vzame iz uporabniškega vnosa ali iz knjižnice drugih proizvajalcev.
  • Predmet: To je tip, ki predstavlja vse, kar ni primitiven tip; bistveno je za objektno usmerjeno naravo Typecripta.

Obstajata dva različna načina, kako spremenljivki izrecno dodelite tip. Prva je sintaksa kotnih oklepajev:

let someValue: kateri koli;

naj strLength: number = (someValue) .length;

In drugo je kot sintaksa:

let someValue: any = "to je niz";

naj strLength: number = (someValue kot niz) .length;

Ti delčki kode, ki so povzeti iz dokumentacije TypeScript, so funkcionalno enakovredni. Oboje opredeljuje someValue kot spremenljivka tipa kaj in dodelite "to je niz" kot vrednost, nato določite strLength kot številko in kot vrednost dodelite dolžino vsebine someValue.

Vrste TypeScript lahko nastavite tudi s sklepanjem. To pomeni, da če nastavite vrednost x na 7, ne da bi ugotovili, kakšen je tip x, bo prevajalnik predpostavil, da je x število. V nekaterih okoliščinah lahko prevajalnik sklepa na kaj type, čeprav lahko z zastavicami prevajanja zagotovite, da ne.

Sistem tipov TypeScript je precej bogat in presega obseg tega članka. Obstaja vrsta naprednih in uporabnih vrst; Sem spadajo tipi zvez, ki vam omogočajo, da ugotovite, ali bo spremenljivka ena izmed več določenih vrst, in preslikani tipi, ki so tipi, ki jih lahko ustvarite na podlagi obstoječega tipa, v katerem vsako lastnost v obstoječem tipu pretvorite v isto način. Na primer, lahko ustvarite tip zveze za spremenljivko, za katero želite, da je številka ali logična vrednost, ne pa tudi niza ali česar koli drugega; ali pa lahko ustvarite preslikani tip, ki nastavi vse elemente v nizu samo za branje.

TypeScript vmesnik

Kot večina objektno usmerjenih jezikov ima TypeScript vmesnike, ki uporabnikom omogočajo, da določijo svoje vrste. Vmesniki določajo lastnosti, ki jih ima objekt, skupaj z vrstami, povezanimi s temi lastnostmi. Vmesniki TypeScript imajo lahko neobvezne lastnosti. Za več informacij o sintaksi si oglejte dokumentacijo TypeScript.

Generiki TypeScript

TypeScript tudi deli koncept generiki z objektno usmerjenimi jeziki, kot sta Java in C #. (Enakovredna možnost v jeziku C ++ se imenuje a predloga.) V Typecriptu lahko generične komponente delujejo v različnih vrstah in ne le v enem, odvisno od tega, kje v kodi se te komponente kličejo. Tu je zelo preprost primer iz dokumentacije TypeScript. Najprej upoštevajte to funkcijo, ki sprejme argument in ga nato takoj vrne:

identiteta funkcije (arg: poljubno): poljubno {

vrnitev arg;

}

Ker je funkcija definirana z kaj type, bo sprejel argument katere koli vrste, ki ga izberete. Kar pa bo vrnilo, bo od kaj tip. Tu je različica funkcije z uporabo generičnih zdravil:

identiteta funkcije (arg: T): T {

vrnitev arg;

}

Ta koda vključuje spremenljivka tipa T, ki zajame vrsto dohodnega argumenta in ga shrani za kasnejšo uporabo.

Veliko več je generikov, ki so ključni za omogočanje ponovne uporabe kode v velikem podjetniškem projektu. Za podrobnosti si oglejte dokumentacijo TypeScript.

Razred TypeScript 

Pri objektno usmerjenem programiranju razredih podedujejo funkcionalnost in nato služijo kot gradniki predmetov. JavaScript tradicionalno ni uporabljal razredov, temveč se je zanašal na funkcije in na dedovanje prototipov, vendar je bil koncept v jezik dodan kot del različice standarda ECMAScript 2015. Predavanja so že bila del Typescripta, zdaj pa TypeScript uporablja isto sintakso kot JavaScript. Ena od prednosti prevajalnika TypeScript je, da lahko kodo z razredi JavaScript pretvori v zapuščeno kodo JavaScript, ki ustreza standardom pred letom 2015.

Datum TypeScript

Na voljo so številne metode in predmeti za pridobivanje in nastavitev datuma in ure v TypeScriptu, ki so večinoma podedovane iz JavaScript-a. JavaTPoint je dobro opisal, kako to deluje.

Vadnica za TypeScript 

Ste pripravljeni iti globlje? S temi vadnicami za TypeScript se pospešite:

  • TypeScript v 5 minutah vas bo vodil skozi postopek namestitve TypeScript, če tega še niste storili.
  • Ta vadnica Visual Studio Code prikazuje, kako IDE resnično prispevajo k vaši razvojni produktivnosti TypeScript.
  • Vadnica za TypeScript za začetnike: Manjkajoči vodnik je res temeljit uvod, ki bo koristen tudi, če imate JavaScript izkušnje dokaj omejene.

Če se želite naučiti, kako uporabljati TypeScript z Reactom, knjižnico JavaScript za gradnjo uporabniških vmesnikov, ki jo je razvil Facebook, si oglejte Kako uporabljati TypeScript z Reactom in Reduxom Rossa Bulata in razdelek o Reactu in spletnem paketu v dokumentaciji TypeScript. Srečno učenje! 

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