A régi JS-verziók elnevezése számok szerint történik: ES5 (2009) és ES6 (2015).
2016-tól a verziók évenként vannak elnevezve: ECMAScript 2016, 2017, 2018, 2019, ...
Ez a fejezet az ECMAScript 2018 új funkcióit mutatja be:
Aszinkron iteráció
Ígérd meg végre
Objektum nyugalmi tulajdonságai
Új RegExp funkciók
JavaScript megosztott memória
Az ECMAScript 2018 aszinkron iterátorokat és iterálható elemeket adott hozzá.
Az aszinkron iterálásoknál használhatjuk a várakozás
kulcsszó a for/of
ciklusokban.
for await () {}
A JavaScript aszinkron iterációja 2020 januárja óta minden modern böngészőben támogatott:
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
Dec 2017 | Jan 2020 | Nov 2017 | Sep 2017 | Jan 2018 |
Az ECMAScript 2018 véglegesíti a Promise objektum teljes megvalósítását a Promise.finally
segítségével:
let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();
A Promise.finally
2018 novembere óta minden modern böngészőben támogatott:
Chrome 63 | Edge 18 | Firefox 58 | Safari 11.1 | Opera 50 |
Dec 2017 | Nov 2018 | Jan 2018 | Mar 2018 | Jan 2018 |
Az ECMAScript 2018 pihenési tulajdonságokat adott hozzá.
Ez lehetővé teszi számunkra, hogy megsemmisítsünk egy objektumot, és a maradékot egy új objektumra gyűjtsük:
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }
Az objektum pihenés tulajdonságait 2020 januárja óta minden modern böngésző támogatja:
Chrome 60 | Edge 79 | Firefox 55 | Safari 11.1 | Opera 47 |
Jul 2017 | Jan 2020 | Aug 2017 | Mar 2018 | Aug 2017 |
Az ECMAScript 2018 4 új RegExp funkcióval bővült:
Unicode Property Escape (\p{...})
Az állítások mögé néz (?<= ) és (?
Elfogó csoportok néven
s (dotAll) Flag
Az új RegExp funkciókat 2020 júniusa óta minden modern böngésző támogatja:
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
Jan 2018 | Jan 2020 | Jun 2020 | Sep 2018 | Feb 2018 |
A JavaScriptben a Web Workers API-t használja a szálak létrehozásához.
A worker szálak kód futtatására szolgálnak a háttérben, így a fő program folytatni tudja a végrehajtást.
A munkaszálak a fő programmal egyidejűleg futnak. Különböző részek egyidejű végrehajtása egy program használata időt takaríthat meg.
Az osztott memória egy olyan szolgáltatás, amely lehetővé teszi a szálak (a program különböző részei) számára ugyanazon adatok elérése és frissítése ugyanabban a memóriában.
A szálak közötti adatok átadása helyett átadhat egy SharedArrayBuffer objektumot amely arra a memóriára mutat, ahol az adatok mentve vannak.
A SharedArrayBuffer objektumok az ArrayBuffer objektumhoz hasonló, rögzített hosszúságú nyers bináris adatpuffert képviselnek.