TypeScript

ohjelmointikieli

TypeScript on Microsoftin kehittämä ja ylläpitämä ohjelmointikieli, joka lisää valinnaisen staattisen tyypityksen JavaScriptiin. Se on suunniteltu suurten sovellusten kehittämiseen ja transpiloitavaksi JavaScriptiksi.[2] Koska JavaScript on TypeScriptin osajoukko, olemassa olevat JavaScript-ohjelmat ovat myös kelvollisia TypeScript-ohjelmia.

TypeScript
Paradigma useita: olio-ohjelmointi, funktionaalinen, imperatiivinen, geneerinen
Tyypitys ankkatyypitys, rakenteellinen, asteittainen
Julkaistu 2012
Kehittäjä Microsoft
Vakaa versio 5.7.2 ([1])
Vaikutteet C#, Java, JavaScript
Vaikuttanut AtScript, AssemblyScript
Käyttöjärjestelmä alustariippumaton
Verkkosivu https://www.typescriptlang.org/

Käyttö

muokkaa

TypeScriptiä voidaan käyttää JavaScript-sovellusten kehittämiseen sekä asiakas- että palvelinpäässä (kuten Node.js tai Deno). Transpilaatiossa on useita vaihtoehtoja. TypeScriptin oletustarkistusta voidaan käyttää[3] tai Babel-kääntäjän avulla TypeScript voidaan muuttaa JavaScriptiksi.

Ominaisuudet

muokkaa

TypeScript tukee määritystiedostoja, jotka voivat sisältää tyyppitietoja olemassa olevista JavaScript-kirjastoista, aivan kuten otsikkotiedostot voivat kuvata olemassa olevien objektitiedostojen rakennetta. Näin muut ohjelmat voivat käyttää tiedostoissa määritettyjä arvoja ikään kuin ne olisivat staattisesti kirjoitettuja TypeScript-kokonaisuuksia. Suosituille kirjastoille, kuten jQuerylle, MongoDB:lle ja D3.js:lle on kolmannen osapuolen otsikkotiedostoja. Jos kirjastolle ei ole saatavilla otsikkotiedostoja, ohjelmoijan on itse määriteltävä tyypit, jotta kirjastoa voisi käyttää. TypeScript-otsikot Node.js-perusmoduuleille ovat myös saatavilla, mikä mahdollistaa Node.js-ohjelmien kehittämisen TypeScriptissä.[4][5]

TypeScript-kääntäjä itse on kirjoitettu TypeScriptillä ja käännetty JavaScriptiksi. Se on lisensoitu Apache License 2.0 -lisenssillä. TypeScript on mukana ensiluokkaisena ohjelmointikielenä Microsoft Visual Studio 2013 Update 2:ssa ja uudemmissa C#:n ja muiden Microsoft-kielten ohella.[6] Virallinen laajennus mahdollistaa myös Visual Studio 2012:n tukemisen TypeScriptille.[7] Anders Hejlsberg, C#:n johtava arkkitehti ja Delphin ja Turbo Pascalin luoja, on työskennellyt TypeScriptin kehittämisen parissa.[8][9][10][11]

Rajoitukset

muokkaa

TypeScript-kääntäjä poistaa tyypit käännöksen aikana (engl. type erasure). Tyypitys siis antaa suojaa tyyppivirheitä vastaan kehityksen aikana, mutta ei takaa, että tyypit olisivat ajon aikana oikein.[5]

TypeScriptiä on kritisoitu vaikeasti tulkittavista tyyppivirheviesteistä.[5]

Esimerkki

muokkaa
// Määritellään uusi tyyppi taulukolle numeroita
type NumeroTaulukko = number[];

// Esitellään muuttuja joka on tyyppiä NumeroTaulukko
const minunNumerot: NumeroTaulukko = [0, 1, 2, 3, 4, 5];

// Jos yrität laittaa merkkijonon taulukkoon, TypeScript tulostaa virheen
// minunNumerot.push("Hei");

// Funktio joka ottaa NumeroTaulukko tyyppisen parametrin
function laskeYhteen(numerot: NumeroTaulukko): number {
  let summa = 0;
  for (const numero of numerot) {
    summa += numero;
  }
  return summa;
}

// Kutsutaan funktiota NumeroTaulukolla minunNumerot
const yhteensa = laskeYhteen(minunNumerot);

console.log(`Kokonaissumma on ${yhteensa}`);

Katso myös

muokkaa

Lähteet

muokkaa
  1. Release 5.7.2, (viitattu ). Tieto on haettu Wikidatasta.
  2. Bright: Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem? Ars Technica. 3.10.2012. Condé Nast. Viitattu 26.4.2015. (englanniksi)
  3. TypeScript Programming with Visual Studio Code code.visualstudio.com. Viitattu 12.10.2019. (englanniksi)
  4. borisyankov/DefinitelyTyped GitHub. Viitattu 26.4.2015 (englanniksi).
  5. a b c Fullstack part9 | fullstackopen.com. Viitattu 10.6.2024. (englanniksi)
  6. TypeScript Homepage, "Visual Studio includes TypeScript in the box, starting with Visual Studio 2013 Update 2"
  7. TypeScript 1.0 Tools for Visual Studio 2012
  8. Foley: Microsoft takes the wraps off TypeScript, a superset of JavaScript ZDNet. 1.10.2012. CBS Interactive. Viitattu 26.4.2015. (englanniksi)
  9. Somasegar: Somasegar's blog 1.10.2012. Microsoft. Viitattu 26.4.2015. (englanniksi)
  10. Baxter-Reynolds: Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript? ZDNet. 1.10.2012. Viitattu 26.4.2015. (englanniksi)
  11. Jackson: Microsoft Augments Javascript for Large-scale Development CIO. 1.10.2012. IDG Enterprise. Arkistoitu 17 joulukuu 2013. Viitattu 26.4.2015. (englanniksi)

Aiheesta muualla

muokkaa
  NODES