TypeScript

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. Koska JavaScript on TypeScriptin osajoukko, olemassa olevat JavaScript-ohjelmat ovat myös kelvollisia TypeScript-ohjelmia. ==Käyttö== 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. ==Ominaisuudet== 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ä. 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.TypeScript Homepage, "Visual Studio includes TypeScript in the box, starting with Visual Studio 2013 Update 2" Virallinen laajennus mahdollistaa myös Visual Studio 2012:n tukemisen TypeScriptille.TypeScript 1.0 Tools for Visual Studio 2012 Anders Hejlsberg, C#:n johtava arkkitehti ja Delphin ja Turbo Pascalin luoja, on työskennellyt TypeScriptin kehittämisen parissa. == Rajoitukset == 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. TypeScriptiä on kritisoitu vaikeasti tulkittavista tyyppivirheviesteistä. == 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 Luokka:Ohjelmointikielet Luokka:Alustariippumattomat ohjelmat Luokka:Microsoftin ohjelmistot Luokka:Oliopohjaiset ohjelmointikielet Luokka:JavaScript Luokka:Vuoden 2012 ohjelmistot Luokka:2010-luvun ohjelmointikielet