JavaScript ECMAScript 2018


Obsah

    Zobrazit obsah

Čísla verzí JavaScriptu

Staré verze JS jsou pojmenovány podle čísel: ES5 (2009) a ES6 (2015).

Od roku 2016 jsou verze pojmenovány podle roku: ECMAScript 2016, 2017, 2018, 2019, ...

Nové funkce v ECMAScript 2018

Tato kapitola představuje nové funkce v ECMAScript 2018:

  • Asynchronní iterace

  • Slib konečně

  • Zbytkové vlastnosti objektu

  • Nové funkce RegExp

  • Sdílená paměť JavaScriptu


Asynchronní iterace JavaScriptu

ECMAScript 2018 přidal asynchronní iterátory a iterovatelné.

U asynchronních iterovatelných položek můžeme použít await klíčové slovo v cyklech for/of.

Příklad

for await () {}

Asynchronní iterace JavaScriptu je podporována ve všech moderních prohlížečích od ledna 2020:

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

JavaScript Promise.konečně

ECMAScript 2018 dokončuje úplnou implementaci objektu Promise pomocí Promise.finally:

Příklad

let myPromise = new Promise();

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

Promise.finally je od listopadu 2018 podporován ve všech moderních prohlížečích:

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


Zbytkové vlastnosti objektu JavaScript

ECMAScript 2018 přidal odpočinkové vlastnosti.

To nám umožňuje zničit objekt a shromáždit zbytky na nový objekt:

Příklad

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

Vlastnosti zbytku objektů jsou podporovány ve všech moderních prohlížečích od ledna 2020:

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

Nové funkce JavaScript RegExp

ECMAScript 2018 přidal 4 nové funkce RegExp:

  • Unicode vlastnosti Escape (\p{...})

  • Lookbehind Assertions (?<= ) a (?

  • Pojmenované skupiny zachycení

  • s (tečkaVše) příznak

Nové funkce RegExp jsou podporovány ve všech moderních prohlížečích od června 2020:

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

Vlákna JavaScriptu

V JavaScriptu používáte k vytváření vláken rozhraní Web Workers API.

Pracovní vlákna se používají ke spouštění kódu na pozadí, takže hlavní program může pokračovat ve vykonávání.

Pracovní vlákna běží současně s hlavním programem. Současné provádění různých částí programu může šetřit čas.

Sdílená paměť JavaScriptu

Sdílená paměť je funkce, která umožňuje vláknům (různým částem programu). přistupovat a aktualizovat stejná data ve stejné paměti.

Místo předávání dat mezi vlákny můžete předat objekt SharedArrayBuffer který ukazuje na paměť, kde jsou data uložena.

SharedArrayBuffer

Objekt SharedArrayBuffer představuje nezpracovanou vyrovnávací paměť binárních dat s pevnou délkou podobnou objektu ArrayBuffer.