Ero sivun ”TypeScript” versioiden välillä
Siirry navigaatioon
Siirry hakuun
pEi muokkausyhteenvetoa |
tekstin muotoilua |
||
| Rivi 25: | Rivi 25: | ||
'''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. | ||
== TypeScriptin perusta == | |||
TypeScript tuo staattisen tyypityksen ja muita suurten sovellusten kehittämiseen soveltuvia ominaisuuksia [[JavaScript]]in päälle. Se toimii Supersettinä JavaScriptille, eli jokainen validi JavaScript-koodi on myös validia TypeScript-koodia. Lopuksi se sitten transpiloituu tavalliseksi JavaScriptiksi, jota [[Selain|selaimet]] ja [[Node.js]]-ympäristöt ymmärtävät. | |||
== Tyypityksen | == Tyypityksen ero: TypeScript vs. JavaScript == | ||
Tyypityksen ero on merkittävin virheiden havaitsemisessa jo kehitysvaiheessa verrattuna virheiden havaitsemiseen vasta ohjelman suoritusvaiheessa (runtime). | |||
1. Dynaaminen Tyypitys (JavaScript) | |||
* JavaScript on dynaamisesti tyypitetty kieli. Muuttujien tyyppi tarkistetaan vasta suorituksen aikana. | |||
* Tämä voi johtaa piileviin virheisiin ja odottamattomaan tyyppipakkokeinoon (Type Coercion). | |||
2. Staattinen Tyypitys (TypeScript) | |||
* TypeScript on staattisesti tyypitetty kieli. Muuttujien, funktioiden parametrien ja paluuarvojen tyypit tarkistetaan käännösaikana (compile-time). | |||
* TypeScript on staattisesti tyypitetty kieli | * Varhainen virheen havainnointi: Jos yrität syöttää funktioon vääräntyyppisen arvon (esim. merkkijonon numeron sijaan), TypeScriptin kääntäjä antaa virheilmoituksen heti kehitysvaiheessa. Tämä estää monia runtime-virheitä. | ||
* Varhainen virheen havainnointi: Jos yrität syöttää funktioon merkkijonon | |||
3. Tyyppipäättely ja Merkinnät | |||
* Valinnainen: Vaikka TypeScript on staattisesti tyypitetty, tyyppimerkinnät ('' | * Valinnainen Tyyppimerkintä: Vaikka TypeScript on staattisesti tyypitetty, tyyppimerkinnät ('': number'', '': 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. | * Tyyppipäättely (Type Inference): Useimmissa tapauksissa TypeScript on riittävän älykäs päättelemään muuttujan tyypin sen arvon perusteella, vähentäen manuaalisen tyypityksen tarvetta. | ||