ECMAScript 2018

Die Benennungskonventionen in JavaScript beginnen mit ES1, ES2, ES3, ES5 und ES6.

ECMAScript 2016 und 2017 werden jedoch nicht ES7 und ES8 genannt.

Seit 2016 werden neue Versionen nach Jahren benannt (ECMAScript 2016/2017/2018).

Neue Funktionen in ECMAScript 2018

Dieses Kapitel stellt die neuen Funktionen von ECMAScript 2018 vor:

  • Asynchrone Iteration
  • Promise Finally
  • Objekt Rest-Attribute
  • Neue RegExp-Eigenschaften

JavaScript asynchrone Iteration

ECMAScript 2018 hat asynchrone Iteratoren und iterierbare Objekte hinzugefügt.

Durch die asynchrone Iteration können wir for/of im Loop verwendet await Schlüsselwort.

Beispiel

for await () {}

Firefox und Safari sind die ersten Browser, die die asynchrone Iteration in JavaScript unterstützen:

Chrome und Firefox sind die ersten Browser, die alle neuen RegExp-Funktionen unterstützen: IE Firefox Safari Opera
Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
Dezember 2017 Januar 2020 November 2017 September 2017 Januar 2018

JavaScript Promise.finally

ECMAScript 2018 verwendet Promise.finally Die vollständige Implementierung des Promise-Objekts ist abgeschlossen:

Beispiel

let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();

Chrome und Firefox sind die ersten, die Promise.finally Browser:

Chrome und Firefox sind die ersten Browser, die alle neuen RegExp-Funktionen unterstützen: IE Firefox Safari Opera
Chrome 63 Edge 18 Firefox 58 Safari 11.1 Opera 50
Dezember 2017 November 2018 Januar 2018 März 2018 Januar 2018

JavaScript Objekt Rest-Attribute

ECMAScript 2018 hat die Rest-Attribute hinzugefügt.

Dies ermöglicht es uns, ein Objekt zu zerstören und die verbleibenden Teile in ein neues Objekt zu sammeln:

Beispiel

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

Chrome, Firefox und Opera sind die ersten Browser, die die Rest-Attribute von Objekten unterstützen:

Chrome und Firefox sind die ersten Browser, die alle neuen RegExp-Funktionen unterstützen: IE Firefox Safari Opera
Chrome 60 Edge 79 Firefox 55 Safari 11.1 Opera 47
Juli 2017 Januar 2020 August 2017 März 2018 August 2017

Neue JavaScript RegExp-Funktionen

Neue JavaScript RegExp-Funktionen

  • ECMAScript 2018 hat 4 neue RegExp-Features hinzugefügt:
  • Unicode-Attribut-Flüchtungen (\p{...})
  • Rückwärtsprädikate (Lookbehind Assertions) (?<= ) und (?<! )
  • Benannte K capture groups

s (dotAll) -Flagge

Chrome und Firefox sind die ersten Browser, die alle neuen RegExp-Funktionen unterstützen: IE Firefox Safari Opera
Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Januar 2018 Januar 2020 Juni 2020 September 2018 Februar 2018