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