Ohjelmointi

Mikä on TypeScript? Vahvasti kirjoitettu JavaScript

Mikä on TypeScript? TypeScript määritelty

TypeScript on muunnelma suositusta JavaScript-ohjelmointikielestä, joka lisää joitain yrityksen kehittämisen kannalta tärkeitä ominaisuuksia. Erityisesti TypeScript on voimakkaasti kirjoitettu - eli ohjelmoija voi ilmoittaa muuttujien ja muiden tietorakenteiden olevan tietyntyyppisiä, kuten merkkijono tai looginen, ja TypeScript tarkistaa niiden arvojen oikeellisuuden. Tämä ei ole mahdollista JavaScriptissä löyhästi kirjoitettu.

TypeScriptin vahva kirjoittaminen tekee mahdolliseksi useita ominaisuuksia, jotka auttavat kehittäjiä tehostamaan etenkin suurten yrityskokoisten kooditietokantojen käsittelyssä. TypeScript on käännetty, eikä sitä tulkita kuten JavaScriptiä, mikä tarkoittaa, että virheitä voidaan havaita ennen suoritusta; IDE: t, jotka suorittavat inkrementaalitausta taustalla, voivat havaita tällaiset virheet koodausprosessin aikana.

Huolimatta tästä avainerosta JavaScriptiin, TypeScript voidaan silti suorittaa missä tahansa, missä JavaScript voi toimia. Tämä johtuu siitä, että TypeScript ei käännä binaariseksi suoritettavaksi suoritettavaksi, vaan tavalliseksi JavaScript-tiedostoksi. Sukelletaan sisään saadaksesi lisätietoja.

TypeScript vs. JavaScript 

TypeScript on a superset JavaScriptistä. Vaikka mikä tahansa oikea JavaScript-koodi on myös oikea TypeScript-koodi, TypeScriptillä on myös kieliominaisuuksia, jotka eivät ole osa JavaScriptiä. Kaikkein näkyvin ominaisuus, joka on ainutlaatuinen TypeScriptille - joka antoi TypeScriptille nimen - on, kuten huomautettu, vahva kirjoittaminen: TypeScript-muuttuja liittyy tyyppi, kuten merkkijono, numero tai totuusarvo, joka kertoo kääntäjälle, millaista dataa se voi säilyttää. Lisäksi TypeScript tukee tyypin päättelyä ja sisältää kaikenlaisen catch-all-tyypin, mikä tarkoittaa, että muuttujien ei tarvitse antaa ohjelmoijan nimenomaista tyyppiä; lisää siitä hetkessä.

TypeScript on suunniteltu myös olio-ohjelmointiin - JavaScript, ei niin paljon. Sellaiset käsitteet kuin perintö ja kulunvalvonta, jotka eivät ole intuitiivisia JavaScriptissä, on helppo toteuttaa TypeScriptissä. Lisäksi TypeScript antaa sinun ottaa käyttöön käyttöliittymiä, jotka ovat pääosin merkityksetön käsite JavaScript-maailmassa.

TypeScriptissä ei voi koodata mitään toimintoja, joita et voi koodata myös JavaScriptissä. Tämä johtuu siitä, että TypeScriptiä ei käännetä tavanomaisessa mielessä - tapaa, jolla esimerkiksi C ++ käännetään binaariseksi suoritustiedostoksi, joka voi toimia tietyllä laitteistolla. Sen sijaan TypeScript-kääntäjä transkoodit TypeScript-koodi toiminnallisesti vastaavaksi JavaScriptiksi. Tässä Sean Maxwellin artikkelissa GitConnected-sivustossa on upeita esimerkkejä objektisuuntautuneista TypeScript-koodinpätkistä ja niiden JavaScript-vastaavista. Tuloksena oleva JavaScript voidaan sitten suorittaa missä tahansa JavaScript-koodissa, verkkoselaimesta Node.js: llä varustettuun palvelimeen.

Joten jos TypeScript on lopulta vain hieno tapa luoda JavaScript-koodi, miksi vaivautua siihen? Tähän kysymykseen vastaamiseksi meidän on tarkasteltava, mistä TypeScript tuli ja mihin sitä käytetään.

Mihin TypeScriptiä käytetään?

TypeScript julkaistiin avoimen lähdekoodin vuonna 2012 sen jälkeen, kun se oli kehitetty Microsoftissa. (Ohjelmistojätti on edelleen projektin taloudenhoitaja ja pääkehittäjä.) Tämä ZDNet-artikkeli tuolloin tarjoaa mielenkiintoisen katsauksen siihen, miksi näin tapahtui: "Yksi suurimmista motivaatioista oli muiden Microsoftin tiimien kokemus, jotka yrittivät kehittää ja ylläpitää Microsoftin tuotteita JavaScript-muodossa. "

Tuolloin Microsoft yritti laajentaa Bing Mapsia Google Mapsin kilpailijana sekä tarjota Office-version verkkoversioita - ja JavaScript oli tehtävien ensisijainen kehityskieli. Kehittäjien oli kuitenkin pohjimmiltaan vaikea kirjoittaa sovelluksia Microsoftin lippulaivamäärän mittakaavassa JavaScriptiä käyttäen. Joten he kehittivät TypeScriptin, jotta yritystason sovellusten rakentaminen JavaScript-ympäristöissä olisi helpompaa. Tämä on virallisen TypeScript-projektisivuston kielen tunniste: "JavaScript, joka skaalaa".

Miksi TypeScript on parempi tällaiseen työhön kuin vanilja JavaScript? No, voimme väittää ikuisesti olio-ohjelmoinnin eduista, mutta todellisuus on, että monet suuryritysprojekteissa työskentelevät ohjelmistokehittäjät ovat tottuneet siihen, ja se auttaa koodin uudelleenkäytössä pallokokoisina projekteina. Älä myöskään pidä unohtaa, missä määrin työkalut voivat lisätä kehittäjien tuottavuutta. Kuten todettiin, useimmat yrityksen IDE: t tukevat inkrementaalitaustaa taustalla, mikä voi havaita virheitä työskennellessäsi. (Niin kauan kuin koodisi on syntaktisesti oikea, se edelleen leviää, mutta tuloksena oleva JavaScript ei välttämättä toimi kunnolla; ajattele virheen tarkistusta oikeinkirjoituksen vastaavuutena.) Nämä IDE: t voivat myös auttaa sinua refaktorikoodissa, kun pääset syvälle projekti.

Lyhyesti sanottuna TypeScriptiä käytetään, kun haluat yrityksen, kuten Java-kielen, yritysominaisuudet ja työkalut, mutta tarvitset koodisi suoritettavaksi JavaScript-ympäristössä. Teoriassa voit kirjoittaa tavallisen JavaScriptin, jonka TypeScript-kääntäjä luo itse, mutta se vie paljon kauemmin ja suuret tiimit ovat vaikeampia ymmärtää ja virheenkorjausta suurelle ryhmälle.

Voi, ja TypeScriptillä on toinen siisti temppu hihassaan: Voit asettaa kääntäjän kohdistamaan tiettyyn JavaScriptiä suorittavaan ympäristöön, selaimeen tai jopa kieliversioon. Koska kaikki hyvin muotoillut JavaScript-koodit ovat myös TypeScript-koodeja, voit esimerkiksi ottaa koodin, joka on kirjoitettu ECMAScript 2015 -määritykseen, joka sisälsi useita uusia syntaktisia ominaisuuksia, ja kääntää sen JavaScript-koodiksi, joka olisi yhteensopiva vanhojen versioiden kanssa. kieli.

Asenna TypeScript

Oletko valmis aloittamaan pelaamisen TypeScriptillä? Kielen asentaminen on helppoa. Jos käytät jo Node.js-laitetta kehityskoneellasi, voit asentaa sen NPM: n, Node.js-paketinhallinnan avulla. Virallinen TypeScript 5 minuutissa -opetusohjelma opastaa sinut prosessin läpi.

TypeScript voidaan asentaa myös laajennukseksi valitsemallesi IDE: lle, mikä antaa sinulle työkalun edut, joista puhuimme edellä, ja huolehtii myös TypeScriptin kääntämisestä JavaScriptiin. Koska TypeScript on kehittänyt Microsoft, ei ole yllättävää, että Visual Studiolle ja Visual Studio -koodille on saatavana korkealaatuisia laajennuksia. Mutta avoimen lähdekoodin projektina TypeScript on sovitettu kaikkialle, aina avoimen lähdekoodin IDE: stä, kuten Eclipse, kunnioitettaviin tekstieditoriin, kuten Vim. Ja koko projektin voi selata ja ladata GitHubista.

TypeScript-syntaksia

Kun TypeScript on asennettu, olet valmis aloittamaan tutkimisen, mikä tarkoittaa, että ymmärrät TypeScript-syntaksin perusteet. Koska JavaScript on TypeScriptin perusta, sinun on tunnettava JavaScript ennen aloittamista. Epäilemättä tärkeimmät kiinnostuksen kohteesi ovat TypeScript-ominaisuudet, jotka tekevät kielestä ainutlaatuisen; kosketamme tässä kohokohtia.

TypeScript-tyypit

Tietysti tärkein syntaktinen piirre TypeScriptissä on tyyppijärjestelmä. Kieli tukee useita perustyyppejä:

  • Totuusarvo: Yksinkertainen tosi / väärä arvo.
  • Luku: TypeScriptissä, kuten JavaScriptissä, kaikki luvut ovat liukulukuarvoja - erillistä kokonaislukua ei ole. TypeScript tukee desimaali-, heksadesimaali-, binaari- ja oktaali-literaaleja.
  • Merkkijono: Tekstimerkkijono. Voit käyttää merkkijonon ympärillä yksittäisiä tai kaksoislainausmerkkejä asetettaessa tietoja. Voit käyttää myös backtick-merkkejä ( ` ) ympäröimään merkkijonoja useilla viivoilla, ja voit upottaa lausekkeita merkkijonoon syntaksin avulla $ {expr}.
  • Taulukot ja joukot: Näiden tyyppien avulla voit tallentaa useita arvoja määritettyyn järjestykseen. Matriisissa yksittäiset arvot ovat kaikki samaa tietotyyppiä, kun taas sarjassa ne voivat olla heterogeenisiä. TypeScript jokaiselle() menetelmää käytetään kutsumaan funktio jokaiselle matriisin elementille.
  • Enum: Kuten saman nimen tyyppi C #: ssä, TypeScript-enum antaa sinun määrittää ihmisille luettavia nimiä numeeristen arvojen sarjaan.
  • Mikä tahansa: Tämä on muuttujan tyyppi, jossa et välttämättä tiedä, mihin arvoon se pääsee etukäteen - se voi ottaa arvot esimerkiksi käyttäjän syötteistä tai kolmannen osapuolen kirjastosta.
  • Objekti: Tämä on tyyppi, joka edustaa kaikkea, mikä ei ole primitiivinen tyyppi; se on välttämätöntä TypeScriptin olio-luonteelle.

On kaksi eri tapaa määrittää tyyppi nimenomaisesti muuttujalle. Ensimmäinen on kulmasulkujen syntaksit:

let someValue: mikä tahansa;

anna strLength: numero = (someValue). pituus;

Ja toinen on kuten syntaksi:

let someValue: any = "tämä on merkkijono";

anna strLength: numero = (someValue merkkijonona) .pituus;

Nämä koodinpätkät, jotka on otettu TypeScript-dokumentaatiosta, ovat toiminnallisesti vastaavia. Molemmat määrittelevät someValue tyypin muuttujana minkä tahansa ja anna "tämä on merkkijono" sen arvoksi, määritä sitten strLength numerona ja määritä sen arvoksi sisällön pituus someValue.

TypeScript-tyypit voidaan asettaa myös päättelemällä. Toisin sanoen, jos asetat arvoksi x arvoksi 7 määrittelemättä, minkä tyyppinen x on, kääntäjä olettaa, että x: n on oltava luku. Joissakin olosuhteissa kääntäjä voi päätellä minkä tahansa tyyppi, vaikka voit käyttää kokoamislippuja varmistaaksesi, että se ei ole.

TypeScript-tyyppinen järjestelmä on melko rikas ja ylittää tämän artikkelin soveltamisalan. On olemassa useita edistyneitä ja apuohjelmatyyppejä; Näitä ovat liitostyypit, joiden avulla voit määrittää, että muuttuja on yksi monista määritetyistä tyypeistä, ja yhdistetyt tyypit, jotka ovat tyyppejä, jotka voit luoda olemassa olevan tyypin perusteella, jolloin muunnat jokaisen olemassa olevan tyypin ominaisuuden samalla tavalla tapa. Voit esimerkiksi luoda unionityypin muuttujalle, jonka haluat olla joko numero tai looginen, mutta ei merkkijono tai muu; tai voit luoda yhdistetyn tyypin, joka asettaa matriisin kaikki elementit vain luettaviksi.

TypeScript-käyttöliittymä

Kuten useimmissa olioihin orientoiduissa kielissä, TypeScriptissä on käyttöliittymät, joiden avulla käyttäjät voivat määrittää omat tyypinsä. Liitännät määrittävät objektilla olevat ominaisuudet sekä näihin ominaisuuksiin liittyvät tyypit. TypeScript-rajapinnoilla voi olla valinnaisia ​​ominaisuuksia. Lisätietoja syntaksista saat TypeScript-ohjeista.

TypeScript-yleiset

TypeScript jakaa myös käsitteen geneeriset lääkkeet olio-kielillä, kuten Java ja C #. (Vastaavaa laitosta C ++: ssa kutsutaan a sapluuna.) TypeScriptissä yleiset komponentit voivat toimia useilla eri tyypeillä, eikä vain yhdellä, riippuen koodin sijainnista, johon komponentit kutsutaan. Tässä on hyvin yksinkertainen esimerkki TypeScript-dokumentaatiosta. Harkitse ensin tätä funktiota, joka ottaa argumentin ja palauttaa sen heti:

funktion identiteetti (arg: mikä tahansa): mikä tahansa {

paluu arg;

}

Koska funktio on määritelty minkä tahansa tyyppi, se hyväksyy minkä tahansa tyyppisen argumentin, jonka päätät heittää siihen. Mitä se kuitenkin palauttaa, tulee olemaan minkä tahansa tyyppi. Tässä on funktion versio, joka käyttää yleisiä:

funktion identiteetti (arg: T): T {

paluu arg;

}

Tämä koodi sisältää tyypin muuttuja T, joka sieppaa saapuvan argumentin tyypin ja tallentaa sen myöhempää käyttöä varten.

Paljon enemmän on geneerisiä lääkkeitä, jotka ovat avain koodin uudelleenkäytön mahdollistamiseen suuryritysprojektissa. Katso lisätietoja TypeScript-ohjeista.

TypeScript-luokka 

Kohdekeskeisessä ohjelmoinnissa luokat perivät toiminnallisuuden ja puolestaan ​​toimivat esineiden rakennuspalikoina. JavaScript ei perinteisesti käyttänyt luokkia, vaan luotti toimintoihin ja prototyyppipohjaiseen perintöön, mutta käsite lisättiin kieleen osana standardin ECMAScript 2015 -versiota. Luokat olivat jo olleet osa TypeScriptiä, ja nyt TypeScript käyttää samaa syntaksia kuin JavaScript. Yksi TypeScriptin kääntäjän eduista on, että se voi muuntaa koodin JavaScript-luokilla vanhaksi JavaScript-koodiksi, joka noudattaa vuotta 2015 edeltäviä standardeja.

TypeScript-päivämäärä

Päivämäärän ja kellonajan hakemiseen ja asettamiseen TypeScriptissä on käytettävissä useita menetelmiä ja objekteja, jotka ovat enimmäkseen peritty JavaScriptiä. JavaTPointilla on hyvät tiedot tämän toiminnasta.

TypeScript-opetusohjelma 

Oletko valmis menemään syvemmälle? Nopeuta näitä TypeScript-oppaita:

  • TypeScript 5 minuutissa vie sinut läpi TypeScriptin asennuksen, jos et ole vielä tehnyt niin.
  • Tämä Visual Studio Code -opetusohjelma osoittaa, kuinka IDE: t todella lisäävät TypeScript-kehitystesi tuottavuutta.
  • TypeScript-opas aloittelijoille: Puuttuva opas on todella perusteellinen esittely, josta on hyötyä, vaikka sinulla olisi melko rajallinen JavaScript-kokemus.

Jos haluat oppia käyttämään TypeScriptiä Reactin kanssa, JavaScript-kirjasto Facebookin kehittämien käyttöliittymien luomiseen, tutustu Ross Bulatin artikkeliin TypeScriptin käyttäminen Reactin ja Reduxin kanssa ja TypeScript-ohjeiden React ja webpack -osioon. Hyvää oppimista! 

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