Ero sivun ”JavaScript” versioiden välillä
Siirry navigaatioon
Siirry hakuun
päivitys |
|||
| Rivi 1: | Rivi 1: | ||
{{Perustietoa}} | {{Perustietoa}} | ||
'''JavaScript''' on Web-ympäristössä käytettävä komentosarjakieli. | '''JavaScript''' on Web-ympäristössä käytettävä komentosarjakieli (Scripting Language). Se on ensisijaisesti dynaaminen, heikosti tyypitetty kieli, joka noudattaa ECMAScript-standardia . | ||
==Katso myös== | Se on yksi Maailman kolmesta peruskivestä (The Three Pillars of Web Development) yhdessä HTML:n (sisältö ja rakenne) ja CSS:n (ulkoasu) kanssa. JavaScript on vastuussa Web-sivujen ja -sovellusten toiminnallisuudesta ja interaktiivisuudesta. | ||
== Keskeiset ominaisuudet ja käyttökohteet == | |||
=== Suoritusympäristöt === | |||
JavaScriptiä voidaan suorittaa kahdessa pääympäristössä: | |||
* Selaimessa (Front-end): Kaikki modernit selaimet sisältävät sisäänrakennetun JavaScript-moottorin (esim. V8 Chromessa tai SpiderMonkey Firefoxissa), joka suorittaa koodin suoraan käyttäjän koneella. | |||
* Palvelimella ja työpöydällä (Back-end/Everywhere): Node.js-alustan myötä JavaScriptistä tuli monikäyttöinen kieli, jota voidaan suorittaa palvelimilla, komentorivillä sekä käyttää työpöytäsovellusten kehittämiseen (esim. Electron-kehyksen avulla). | |||
=== Dynaaminen tyypitys === | |||
JavaScript on dynaamisesti tyypitetty kieli. Tämä tarkoittaa, että muuttujien tyyppiä ei tarvitse määritellä etukäteen, vaan se tarkistetaan vasta ohjelman suorituksen aikana (runtime). Tämä joustavuus voi johtaa odottamattomiin virheisiin (esim. tyyppipakkokeino). | |||
=== Asynkroninen luonne === | |||
JavaScript käyttää tyypillisesti tapahtumapohjaista ja asynkronista mallia (event-driven, asynchronous), joka on erityisen tehokas I/O-operaatioissa (kuten verkkopyynnöt). Tämä mahdollistaa sen, että ohjelma voi käsitellä useita tehtäviä samanaikaisesti odottamatta hitaiden operaatioiden valmistumista. | |||
=== JavaScript ja Linux === | |||
JavaScript on keskeinen osa Linux- ja avoimen lähdekoodin ekosysteemiä: | |||
* Node.js suoritetaan yleisesti Linux-palvelimilla ja se käyttää Linuxin omia ydinominaisuuksia hyödykseen. Suurin osa kehitysympäristöistä (esim. [[npm]] ja [[Yarn]] -paketinhallinnat) on suunniteltu käytettäväksi Unix-tyyppisissä käyttöjärjestelmissä. | |||
* Web-kehitystyökalut: Lähes kaikki modernit avoimen lähdekoodin Web-kehitystyökalut (kuten [[Webpack]], [[Babel]], [[Rollup]]) on kirjoitettu JavaScriptillä ja ne toimivat parhaiten Linux-ympäristöissä. | |||
* Työpöytäsovellukset: Monet avoimen lähdekoodin työpöytäsovellukset (esim. [[VS Code]]) on rakennettu [[Electron]]illa, joka perustuu JavaScriptiin ja [[Node.js]]:ään. | |||
== Katso myös == | |||
* [[Node.js]] | * [[Node.js]] | ||
* [[React]] | * [[React]] - Suosittu käyttöliittymäkirjasto. | ||
* [[TypeScript]] | * [[TypeScript]] - JavaScriptin staattisesti tyypitetty supersetti. | ||
* [[ECMAScript]] - Standardi, jota JavaScript noudattaa. | |||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
* [http://www.codecademy.com/ www.codecademy.com] - Verkkoympäristö jossa voi opiskella muun muassa JavaScriptiä | * [http://www.codecademy.com/ www.codecademy.com] - Verkkoympäristö jossa voi opiskella muun muassa JavaScriptiä | ||
* [https://developer.mozilla.org/ MDN Web Docs] - Laajin ja virallisin dokumentaatio JavaScriptistä. | |||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] | ||