ECMAScript 2018
De naamconventie van JavaScript begint met ES1, ES2, ES3, ES5 en ES6.
Maar ECMAScript 2016 en 2017 worden niet ES7 en ES8 genoemd.
Sinds 2016 worden nieuwe versies per jaar genoemd (ECMAScript 2016/2017/2018).
nieuwe functies in ECMAScript 2018
Dit hoofdstuk introduceert de nieuwe functies van ECMAScript 2018:
- asynchrone iteratie
- Promise Finally
- object Rest-eigenschap
- nieuwe RegExp-eigenschappen
JavaScript asynchrone iteratie
ECMAScript 2018 heeft asynchrone iterators en iterable objecten toegevoegd.
Door middel van asynchrone iteratie kunnen we for/of
gebruikt in de lus await
sleutelwoord.
Voorbeeld
for await () {}
Firefox en Safari zijn de eerste browsers die JavaScript asynchrone iteratie ondersteunen:
Chrome en Firefox zijn de eerste browsers die alle nieuwe RegExp-functionaliteiten ondersteunen: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
December 2017 | Januari 2020 | November 2017 | September 2017 | Januari 2018 |
JavaScript Promise.finally
ECMAScript 2018 gebruikt Promise.finally
Hebben de volledige implementatie van het Promise-object voltooid:
Voorbeeld
let myPromise = new Promise(); myPromise.then(); myPromise.catch(); myPromise.finally();
Chrome en Firefox zijn de eerste browsers die Promise.finally
van de browsers:
Chrome en Firefox zijn de eerste browsers die alle nieuwe RegExp-functionaliteiten ondersteunen: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 18 | Firefox 58 | Firefox 55 | Opera 50 |
December 2017 | November 2018 | Januari 2018 | Juli 2017 | Januari 2018 |
JavaScript object Rest-eigenschap
ECMAScript 2018 heeft de Rest-eigenschap toegevoegd.
Dit staat ons toe om een object te vernietigen en de overgebleven elementen te verzamelen in een nieuw object:
Voorbeeld
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; x; // 1 y; // 2 z; // { a: 3, b: 4 }
Chrome, Firefox en Opera zijn de eerste browsers die de object Rest-eigenschap ondersteunen:
Chrome en Firefox zijn de eerste browsers die alle nieuwe RegExp-functionaliteiten ondersteunen: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 60 | Edge 79 | Chrome 60 | Firefox 55 | Safari 11.1 |
Opera 47 | Januari 2020 | Maart 2018 | Juli 2017 | Maart 2018 |
Augustus 2017
Nieuwe JavaScript RegExp-eigenschappen
- ECMAScript 2018 heeft 4 nieuwe RegExp-eigenschappen toegevoegd:
- Unicode-eigenschapsondersteuning (\p{...})
- Voorwaarts vastgestelde claims (Lookbehind Assertions) (?<= ) en (?<! )
- Benaming van gevangen groepen (Named Capture Groups)
s (dotAll) signaal
Chrome en Firefox zijn de eerste browsers die alle nieuwe RegExp-functionaliteiten ondersteunen: | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
Januari 2018 | Januari 2020 | Juni 2020 | September 2018 | Februari 2018 |