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 | | 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. | |||