Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

JavaScript-kieli: Uudet ominaisuudet
JavaScript-kieli: Uudet ominaisuudet
JavaScript-kieli: Uudet ominaisuudet
Ebook233 pages2 hours

JavaScript-kieli: Uudet ominaisuudet

Rating: 0 out of 5 stars

()

Read preview

About this ebook

JavaScript-kielestä on kehittynyt vuosien saatossa täysiverinen ohjelmointikieli. Nykyään sillä voi tehdä niin web-selainsovelluksia kuin mobiilisovelluksia. JavaScriptiin-pohjautuvat Angular, React ja jQuery ovat erittäin käytettyjä web-selainsovellusten toteutusvälineitä. Node.js:n avulla JavaScript-ohjelmilla voi toteuttaa myös palvelinpuolen ratkaisut. Kielen osaaminen alkaa olla pakollista kaikille ohjelmoinnin ammattilaisille. Viime vuosina JavaScript-kieli on kehittynyt huimasti mahdollistaen entistä oliopohjaisemman ja modulaarisemman ohjelmistokehitystyylin.
JavaScript-kieli - uudet ominaisuudet - kirja keskittyy uusimpiin JavaScript-kielen piirteisiin. Kirjan avulla opit tehokkaasti käyttämään JavaScript-kieltä sekä ymmärtämään sen tärkeimmät piirteet ja ominaisuudet. Tutuksi tulevat niin olio-ohjelmoinnin kuin funktionaaliset ohjelmoinnin salat. Kirja käy kattavasti läpi JavaScript-kielen uudet ominaisuudet, sillä se käsittelee nykyaikaisten Web-selainten JavaScript-moottoreissa erittäin hyvin tuettua ECMAScript 6 -versiota.
LanguageSuomi
Release dateNov 13, 2017
ISBN9789515687982
JavaScript-kieli: Uudet ominaisuudet
Author

Juha Peltomäki

Juha Peltomäki on kokenut ohjelmointitekniikoiden kouluttaja, tietokirjailija sekä sovelluskehittäjä. Hän on kirjoittanut yli kymmenen ohjelmointiaiheista kirjaa ja hänellä on runsaasti kokemusta sekä korkeakoulu- että yrityskoulutuksista.

Reviews for JavaScript-kieli

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    JavaScript-kieli - Juha Peltomäki

    ominaisuudet

    JavaScript-ohjelmointi

    JavaScript-kieltä käytetään pääasiassa Web-selainpuolella ajettavien sovellusten kirjoittamiseen. Sen kehitti vuonna 1995 Brendan Eich Netscape Navigator -selaimeen ja alkuperäisenä tarkoituksena oli integroida Scheme-ohjelmointikieli selaimeen. Kun syyskuussa 1995 julkaistiin Netscape Navigator 2.0 -selain, niin siihen oli paketoitu mukaan kuitenkin uusi kieli nimeltään JavaScript.

    Alkuperäinen JavaScript-versio otti syntaksissaan mallia mm. Java-, Perl- sekä Scheme-kielestä, mutta oli kuitenkin aivan uusi kieli eikä suoraan vastannut mitään aiempaa ohjelmointikieltä. Alun perin Navigator-selaimen Beta-versiossa kielen nimenä oli LiveScript, mutta markkinointisyistä ja samoihin aikoihin julkaistun Java-kielen saaman nopean suosion takia kieltä alettiin kutsumaan nimellä JavaScript, kun Navigator 2.0 -selain lopultakin julkaistiin joulukuussa 1995.

    Microsoft ja JScript

    Microsoft alkoi kuitenkin kehittää JavaScript-kielestä omaa versiota, mikä johti hämmennykseen ja epäyhteensopivuuteen eri selainten välillä. 1990-lopulla oli hyvin tyypillistä sellainen epätoivottava tilanne, jossa samalle websivulle piti eri web-selaimia varten ohjelmoida kokonaan erilaiset JavaScripttoteutukset. Tähän aikaan puhuttiin myös ns. selainsodasta, jossa nimenomaan Netscape ja Microsoft kilpailivat erilaisten ominaisuuksien tuomisella selaimeen.

    Vuonna 1996 Microsoft-julkaisi Internet Explorer 3 -selaimen, jossa oli integroitu kaksi ohjelmointikieltä, joista toinen oli Visual Basic -kieleen pohjautuvat VBScript-kieli ja toinen oli JavaScript-kielen versio, joka sai nimekseen JScript. Samaan aikaan JavaScript-kielestä kaavailtiin Webin yhteistä ohjelmointikieltä, mutta tärkeimmät selainvalmistajat eli Netscape ja Microsoft alkoivat vetää kehitystä eri suuntiin.

    Dynaaminen HTML

    Microsoft julkaisi Internet Explorer 4 -selaimen ja esitteli samassa yhteydessä käsitteen nimeltään dynaaminen HTML (Dynamic HTML), mikä sisälsi JavaScript-ohjelmoinninkielen lisäksi myös HTML- ja CSS-kielet. Käytännössä erot JavaScript-toteutuksissa sekä erilaiset DOM-rakenteet (Document Object Model) kuitenkin estivät JavaScript-kielen laajamittaisen leviämisen ja hyödyntämisen dynaamisten sivujen rakentamisessa. Tämän takia alettiin kaivata standardia, joka toisi eri selainvalmistajien JavaScript-toteutukset yhteneväisiksi toisten kanssa. Tätä kehitystä on saatu odottaa todellisuudessa pitkälle 2010-luvulle, mutta standardikieli saatiin onneksi aikaiseksi jo viime vuosisadan puolella.

    Standardikieli synnytettiin jo 1990-luvulla ja se sai nimekseen alkuperäisestä nimestä poiketen nimen ECMAScript, mikä on myös aiheuttanut usein hämmennystä kieltä käyttävien keskuudessa, sillä edelleen vain standardikieltä kutsutaan ECMAScript-kieleksi, kun taasen erilaisissa selainten implementaatioissa käytetään kielestä nimeä JavaScript.

    ECMAScript

    ECMA International (European Computer Manufacturers Association) on eurooppalainen standardointiorganisaatio, jolla on monia tietotekniikka-alan kansainvälisiä standardeja. Yksi organisaation merkittävä standardi on nimeltään ECMAScript. Ensimmäinen versio eli ECMA-262 -standardikieli julkaistiin jo kesäkuussa 1997, mutta alussa standardi jäi lähinnä kuriositeetin asemaan, sillä eri selainvalmistajat (Microsoft ja Netscape) kehittävät kilvan uusia ominaisuuksia kielen pohjalta. Standardista on sen jälkeen julkaistu useita versioita.

    Tämä kirja käsittelee lähinnä ECMAScript-kielen versiota 6, joka tunnetaan myös nimellä ECMAScript 2015. Tärkeimmät versiot standardikielestä on lueteltu alla:

    ECMAScript 1 julkaistiin jo vuonna 1997 ja se loi pohjan yhdenmukaisemmalle JavaScript-kielen käytölle

    ECMAScript 3 julkaistiin vuonna 1999 sisältäen Regular Expression -tuen sekä try/catch -poikkeuskäsittely. Se oli kymmenen vuotta standardikielen asemassa, sillä ECMAScript 4 -versiota ei koskaan julkaistu

    ECMAScript 5 -versiolla (ES5) on hyvä tuki moderneissa selaimissa. Se julkaistiin joulukuussa 2009. Kesäkuussa 2011 julkaistiin vielä versio 5.1. Keskeisinä uusina ominaisuuksia oli mm. strict mode sekä JSON-tuki standardikielessä. Tätä versiota tuetaan täysin kaikissa moderneissa selaimissa.

    ECMAScript 6 (ES6, ECMAScript 2015) on myös tuettu suhteellisen hyvin uusissa selaimissa vuoden 2017 alussa. Standardi julkaistiin kesäkuussa 2015. Se sisälsi luokat, moduulit, asynkronisen ohjelmoinnin tuen, iteraattorit, generaattorit sekä lohkonäkyvyysalueen säilyttäen yhteensopivuuden vanhaan koodiin ja oli suurin muutos sitten kielen julkaisemisen. Se tukee suurempia sovelluksia, kirjastojen luontia sekä muiden kielten kääntämistä ECMAScript-kielelle. Se oli oikeastaan viidentoista vuoden työn tulos tehden JavaScript-kielestä hyväksyttävän vaihtoehdon suurten sovellusten rakentamiseen. Versio on osittain tuettu kaikissa moderneissa selaimissa.

    ECMAScript 7 (ES7, ECMAScript 2016) tukea ei ole vielä laajamittaisesti selaimissa. Se julkaistiin kesäkuussa 2016 ja tuki löytyy vain osasta selaimia. Tämän julkaisun myötä JavaScript-kielestä on tullut yhä elävämpi standardi, mutta itse standardi sisälsi suhteellisen pieniä muutoksia, kuten uusi eksponentiaalinen operaattori ja Arrayluokan includes()-metodi

    ECMAScript 8 (ES8, ECMAScript 2017) on kesäkuussa 2017 julkaistu versio standardikielestä. Tämä julkaisu sisälsi mm. uudelle tavalle tehdä asynkronista ohjelmointia (async ja await), useammalla CPU-prosessorilla rinnakkaista suorittamista varten Atomics- sekä Shared Memory -tuet sekä joitakin uusia Object-luokan staattisia metodeja (values() ja entries()).

    ECMAScript 2018, 2019 jne. Tulevia standardeja ja ehdotelmia voi kuka tahansa seurata GitHub-palvelussa ja niin halutessaan myös osallistua uusien versioiden kehittämiseen, dokumentoimiseen tai testaamiseen.

    Tulevaisuudessa ECMAScript-kieli kehittyy siten, että siihen tulee ehdotuksia (ECMAScript proposals), jotka voivat olla tulevia ECMAScript-standardeja.

    Lisäksi joka vuosi julkaistaan uusi versio, joten tulevaisuudessa versionumerot jäänevät kokonaan historiaan. Standardiehdotukset voivat olla viidessä tilassa

    esiehdotelma (Strawman),

    ehdotelma (Proposal),

    luonnos (Draft),

    kandidaatti (Candidate) sekä

    valmis (Finished).

    JIT-kääntäjät

    Kaikki modernit ECMAscript-moottorit tukevat nopeaa JIT-käännöstä (justin-time compilation), jossa JavaScript-tulkkaamisen sijasta käännetään konekielelle ennen suorittamista. Tämä käännös tehdään dynaamisesti ohjelman ajon aikana. JIT-kääntäminen tekee JavaScript-kielestä huomattavasti nopeamman kuin ensimmäisessä versioissa, joissa kieli on tulkattava skriptikieli.

    Ensimmäinen JIT-kääntäjä, joka kirjoitettiin JavaScript-kieltä varten, oli vuonna 2009 julkaistu TraceMonkey-kääntäjä. Se julkaistiin Mozilla Firefox 3.5 -selaimen yhteydessä ja JavaScript-kielen tehokkuuden arveltiin nopeutuvan 20-40 -kertaiseksi verrattuna aiempaan Mozilla Firefox 3.0:ssa käytössä olleeseen JavaScript-tulkkiin. Firefoxin käyttämän JavaScript-moottorin nimi on SpiderMonkey.

    Tämän jälkeen muutkin selainvalmistajat ovat kehittäneen nopeita JIT-kääntäjiä, ja mm. Google Chromen selaimessa olevassa V8 JavaScriptmoottorissa (engine) on hyvin tehokas JIT-kääntäjä. Tämä Chromium-projektin kehittämä JavaScript-moottori on käytössä myös mm. Couchbase- ja MongoDB-tietokantamoottereissa sekä palvelinpuolelle suoritettavassa Node.js-ajoympäristössä. V8-moottorin JIT-kääntäjä on erittäin dynaaminen ja se osaa uudelleen optimoida konekieleksi käännettyä JavaScript-koodia ohjelman suorituksen aikana.

    ECMAScript 6 ja avoimempi kehitysmalli

    ECMAScript 6 on ensimmäinen versio ECMAScript-kielestä, joka on julkaistu GitHub-palvelussa TC39-brandillä ja avoimena kehitysprosessina. ECMAScript 2015 -spesifikaatio julkaistiin kokonaan GitHub-palvelussa ja sen kehittäminen jatkuu avoimena prosessina ja projektina tästä versiosta eteenpäin. Lisätietoa saat osoitteesta https://tc39.github.io/ecma262/.

    ECMAScript-kielien versiot 1, 2, 3, 5

    Enjoying the preview?
    Page 1 of 1