Ero sivun ”TypeScript” versioiden välillä

Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
pEi muokkausyhteenvetoa
Rivi 19: Rivi 19:
| käyttöliittymä  = Web-sovellukset, työpöytäsovellukset ([[Electron]]), mobiilisovellukset ([[React]] Native))
| käyttöliittymä  = Web-sovellukset, työpöytäsovellukset ([[Electron]]), mobiilisovellukset ([[React]] Native))
| tyyppi          = Transpiloituva kieli
| tyyppi          = Transpiloituva kieli
| lisenssi        = [[Apache 2.0]]-lisenssi
| lisenssi        = [[Apache-lisenssi v2.0]]
| kotisivu        = [https://www.typescriptlang.org/ typescriptlang.org]
| kotisivu        = [https://www.typescriptlang.org/ typescriptlang.org]
| lähdekoodi      = [https://github.com/microsoft/TypeScript github.com/microsoft/TypeScript]
| lähdekoodi      = [https://github.com/microsoft/TypeScript github.com/microsoft/TypeScript]
}}
}}
'''TypeScript''' on ohjelmointikieli, joka on suunniteltu erityisesti suurten [[JavaScript]]-sovellusten kehittämiseen. Se on [[Microsoft]]in kehittämä ja ylläpitämä, avoimen lähdekoodin kieli.
'''TypeScript''' on ohjelmointikieli, joka on suunniteltu erityisesti suurten [[JavaScript]]-sovellusten kehittämiseen. Se on [[Microsoft]]in kehittämä ja ylläpitämä, avoimen lähdekoodin kieli.
Se tuo staattisen tyypityksen ja muita suurten sovellusten kehittämiseen soveltuvia ominaisuuksia JavaScriptin päälle. Se toimii Supersettinä JavaScriptille, eli jokainen validi JavaScript-koodi on myös validia TypeScript-koodia. Lopuksi se sitten transpiloituu tavalliseksi JavaScriptiksi, jota selaimet ja Node.js-ympäristöt ymmärtävät.
== Tyypityksen Ero: TypeScript vs. JavaScript ==
Ero TypeScriptin ja JavaScriptin tyypityksen välillä on merkittävin virheiden havaitsemisessa jo kehitysvaiheessa (staattinen tyypitys) verrattuna virheiden havaitsemiseen vasta ohjelman suoritusvaiheessa (dynaaminen tyypitys).
TypeScriptin tyypitys eroaa JavaScriptistä seuraavin tavoin:
A. Tyypitys
* JavaScript on dynaamisesti tyypitetty kieli, mikä tarkoittaa, että muuttujien tyyppi tarkistetaan vasta suorituksen aikana.
* TypeScript on staattisesti tyypitetty kieli: Muuttujien, funktioiden parametrien ja paluuarvojen tyypit tarkistetaan käännösaikana (compile-time) ennen kuin koodi edes alkaa suorittua.
* Varhainen virheen havainnointi: Jos yrität syöttää funktioon merkkijonon, kun se odottaa numeroa, TypeScriptin kääntäjä antaa virheilmoituksen heti kehitysvaiheessa. Tämä estää monia suoritusajan (runtime) virheitä.
B. Valinnainen Tyyppimerkintä (Type Annotations)
* Valinnainen: Vaikka TypeScript on staattisesti tyypitetty, tyyppimerkinnät (''a: number'', ''b: string'' jne.) ovat usein valinnaisia.
* Tyyppipäättely (Type Inference): Useimmissa tapauksissa TypeScript on riittävän älykäs päättelemään muuttujan tyypin sen arvon perusteella.
Noudettu kohteesta ”https://www.linux.fi/wiki/TypeScript