TypeScript

TypeScript on Microsoftin kehittämä ja ylläpitämä ohjelmointikieli. Se on JavaScriptin syntaktinen osajoukko ja lisää valinnaisen staattisen kirjoittamisen kieleen. Se on suunniteltu suurten sovellusten kehittämiseen ja transpiloitavaksi JavaScriptiksi. Koska se on JavaScriptin osajoukko, olemassa olevat JavaScript-ohjelmat ovat myös kelvollisia TypeScript-ohjelmia.

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ää tai Babel-kääntäjän avulla TypeScript voidaan muuttaa JavaScriptiksi.

TypeScript tukee määritystiedostoja, jotka voivat sisältää tyyppitietoja olemassa olevista JavaScript-kirjastoista, aivan kuten C++- 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. TypeScript-otsikot Node.js-perusmoduuleille ovat myös saatavilla, mikä mahdollistaa Node.js-ohjelmien kehittämisen TypeScriptissä.

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. Virallinen laajennus mahdollistaa myös Visual Studio 2012:n tukemisen TypeScriptille.  Anders Hejlsberg, C#:n johtava arkkitehti ja Delphin ja Turbo Pascalin luoja, on työskennellyt TypeScriptin kehittämisen parissa.

Esimerkki 

// 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 
 Dart
 Kotlin

Lähteet

Aiheesta muualla 
 TypeScript- projekti GitHubissa
 TypeScript-kielen määritys
 CATS Cross Platform TypeScript Editor

Ohjelmointikielet
Alustariippumattomat ohjelmat
Microsoftin ohjelmistot
Oliopohjaiset ohjelmointikielet
JavaScript
Vuoden 2012 ohjelmistot
2010-luvun ohjelmointikielet