JavaScript ECMAScript 2018


Inhaltsverzeichnis

    Inhaltsverzeichnis anzeigen

JavaScript-Versionsnummern

Alte JS-Versionen werden nach Nummern benannt: ES5 (2009) und ES6 (2015).

Ab 2016 sind die Versionen nach Jahr benannt: ECMAScript 2016, 2017, 2018, 2019, ...

Neue Funktionen in ECMAScript 2018

In diesem Kapitel werden die neuen Funktionen in ECMAScript 2018 vorgestellt:

  • Asynchrone Iteration

  • Versprochen: Endlich

  • Objektresteigenschaften

  • Neue RegExp-Funktionen

  • Gemeinsamer JavaScript-Speicher


Asynchrone JavaScript-Iteration

ECMAScript 2018 hat asynchrone Iteratoren und Iterables hinzugefügt.

Bei asynchronen Iterables können wir den await verwenden Schlüsselwort in for/of-Schleifen.

Beispiel

for await () {}

Die asynchrone JavaScript-Iteration wird seit Januar 2020 in allen modernen Browsern unterstützt:

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

JavaScript-Versprechen.finally

ECMAScript 2018 schließt die vollständige Implementierung des Promise-Objekts mit Promise.finally ab:

Beispiel

let myPromise = new Promise();

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

Promise.finally wird seit November 2018 in allen modernen Browsern unterstützt:

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


Resteigenschaften von JavaScript-Objekten

ECMAScript 2018 hat Rest-Eigenschaften hinzugefügt.

Dadurch können wir ein Objekt zerstören und die Reste auf einem neuen Objekt sammeln:

Beispiel

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

Objektresteigenschaften werden seit Januar 2020 in allen modernen Browsern unterstützt:

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

Neue JavaScript-RegExp-Funktionen

ECMAScript 2018 hat 4 neue RegExp-Funktionen hinzugefügt:

  • Unicode-Eigenschafts-Escapezeichen (\p{...})

  • Lookbehind-Behauptungen (?<= ) und (?

  • Benannte Capture-Gruppen

  • s (dotAll) Flag

Die neuen RegExp-Funktionen werden seit Juni 2020 in allen modernen Browsern unterstützt:

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

JavaScript-Threads

In JavaScript verwenden Sie die Web Workers API, um Threads zu erstellen.

Worker-Threads werden verwendet, um Code im Hintergrund auszuführen, damit das Hauptprogramm die Ausführung fortsetzen kann.

Arbeitsthreads laufen gleichzeitig mit dem Hauptprogramm. Gleichzeitige Ausführung verschiedener Teile eines Programms kann zeitsparend sein.

Gemeinsamer JavaScript-Speicher

Shared Memory ist eine Funktion, die Threads (verschiedenen Teilen eines Programms) ermöglicht auf dieselben Daten im selben Speicher zugreifen und diese aktualisieren.

Anstatt Daten zwischen Threads zu übergeben, können Sie ein SharedArrayBuffer-Objekt übergeben das verweist auf den Speicher, in dem Daten gespeichert sind.

SharedArrayBuffer

Ein SharedArrayBuffer-Objekt stellt einen binären Rohdatenpuffer fester Länge dar, ähnlich dem ArrayBuffer-Objekt.