JavaScript ECMAScript 2018


Sisällysluettelo

    Näytä sisällysluettelo

JavaScript-versionumerot

Vanhat JS-versiot on nimetty numeroilla: ES5 (2009) ja ES6 (2015).

Vuodesta 2016 alkaen versiot on nimetty vuosien mukaan: ECMAScript 2016, 2017, 2018, 2019, ...

Uudet ominaisuudet ECMAScript 2018:ssa

Tässä luvussa esitellään ECMAScript 2018:n uudet ominaisuudet:

  • Asynkroninen iteraatio

  • Lupaa vihdoin

  • Objektin lepoominaisuudet

  • Uudet RegExp-ominaisuudet

  • JavaScript jaettu muisti


JavaScript asynkroninen iteraatio

ECMAScript 2018 lisäsi asynkronisia iteraattoreita ja iteroitavia.

Asynkronisissa iterablesissa voimme käyttää odottaa avainsana for/of-silmukoissa.

Esimerkki

for await () {}

JavaScript asynkroninen iteraatio on tuettu kaikissa nykyaikaisissa selaimissa tammikuusta 2020 lähtien:

Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
Dec 2017 Jan 2020 Nov 2017 Sep 2017 Jan 2018

JavaScript Promise.finally

ECMAScript 2018 viimeistelee Promise-objektin täyden toteutuksen komennolla Promise.finally:

Esimerkki

let myPromise = new Promise();

myPromise.then();
myPromise.catch();
myPromise.finally();

Promise.finally on tuettu kaikissa nykyaikaisissa selaimissa marraskuusta 2018 lähtien:

Chrome 63 Edge 18 Firefox 58 Safari 11.1 Opera 50
Dec 2017 Nov 2018 Jan 2018 Mar 2018 Jan 2018


JavaScript Object Rest -ominaisuudet

ECMAScript 2018 lisäsi lepoominaisuudet.

Tämän avulla voimme tuhota esineen ja kerätä ylijäämät uuteen esineeseen:

Esimerkki

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }

Objektien lepo-ominaisuuksia tuetaan kaikissa nykyaikaisissa selaimissa tammikuusta 2020 lähtien:

Chrome 60 Edge 79 Firefox 55 Safari 11.1 Opera 47
Jul 2017 Jan 2020 Aug 2017 Mar 2018 Aug 2017

Uudet JavaScript RegExp -ominaisuudet

ECMAScript 2018 lisäsi 4 uutta RegExp-ominaisuutta:

  • Unicode-ominaisuuden poistomerkit (\p{...})

  • Katso väitteiden taakse (?<= ) ja (?

  • nimeltä Capture Groups

  • s (pistekaikki) -lippu

Uusia RegExp-ominaisuuksia tuetaan kaikissa nykyaikaisissa selaimissa kesäkuusta 2020 lähtien:

Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Jan 2018 Jan 2020 Jun 2020 Sep 2018 Feb 2018

JavaScript-säikeet

JavaScriptissä käytät Web Workers API:ta säikeiden luomiseen.

Worker-säikeitä käytetään koodin suorittamiseen taustalla, jotta pääohjelma voi jatkaa suorittamista.

Työntekijän säikeet toimivat samanaikaisesti pääohjelman kanssa. Eri osien samanaikainen suoritus ohjelma voi säästää aikaa.

JavaScript jaettu muisti

Jaettu muisti on ominaisuus, jonka avulla säikeet (ohjelman eri osat) voivat siirtyä käyttää ja päivittää samoja tietoja samassa muistissa.

Sen sijaan, että välität tietoja säikeiden välillä, voit välittää SharedArrayBuffer-objektin joka osoittaa muistiin, johon tiedot tallennetaan.

SharedArrayBuffer

SharedArrayBuffer-objekti edustaa kiinteäpituista raaka binaaridatapuskuria, joka on samanlainen kuin ArrayBuffer-objekti.