ECMAScript 2024: Neue Version des JavaScript-Standards veröffentlicht

Der neue Standard erlaubt einen flexibleren Umgang mit ArrayBuffer und SharedArrayBuffer sowie eine vereinfachte Konfiguration von Promises.

In Pocket speichern vorlesen Druckansicht

(Bild: Trismegist san/Shutterstock.com)

Lesezeit: 2 Min.
Inhaltsverzeichnis

Ecma International hat ECMAScript 2024 freigegeben. Der JavaScript-Standard setzt in seiner fünfzehnten Ausgabe zahlreiche Proposals um, die sich teils seit 2015 in der Mache befanden. Unter anderem ist nun die Größenänderung von ArrayBuffer sowie SharedArrayBuffer möglich und das Konfigurieren von Promises gelingt ohne Workaround.

ArrayBuffer-Konstruktoren können nun eine zusätzliche Maximallänge annehmen, was ein Vergrößern und Verkleinern der Buffer ermöglicht. Auf ähnliche Weise wurde SharedArrayBuffer erweitert, um ebenfalls eine zusätzliche Maximallänge und dadurch ein Vergrößern der Buffer zu erlauben. Das Verkleinern ist hier nicht erlaubt, weil es keine gute Idee ist, geteilten Speicher zu verkleinern, wie es im Proposal auf GitHub heißt.

Laut dem Proposal war das bisherige Vorgehen – einen neuen Buffer zu allokieren und zu kopieren – ineffizienter und fragmentierte zudem den Adressraum bei 32-Bit-Systemen.

Für Promises steht die neue Methode Promise.withResolvers bereit, die Entwicklerinnen und Entwicklern die Arbeit erleichtern soll. Bisher war ein Workaround erforderlich, wenn sie das Auflösungs- und Ablehnungsverhalten (Resolution und Rejection) eines Promise nach dessen Instanziierung konfigurieren wollten. Dabei entstand Boilerplate-Code, den Entwickler häufig neu schreiben mussten.

Die neue statische Methode withResolvers soll diesen Boilerplate-Code nun überflüssig machen, da sie ein Promise mitsamt seiner Resolution- und Rejection-Funktionen ausgibt:

const { promise, resolve, reject } = Promise.withResolvers();​

Daneben hat auch das Flag v für reguläre Ausdrücke den Weg in ECMAScript 2024 gefunden. Es dient dem Erstellen von regulären Ausdrücken mit weitergehenden Funktionen für das Arbeiten mit String-Sets. Für das Aggregieren von Daten stehen nun die Methoden Object.groupBy sowie Map.groupBy bereit und die Atomics.waitAsync-Methode erlaubt das asynchrone Warten auf eine Änderung in geteiltem Speicher.

Die Proposals, die im neuen Standard enthalten sind, haben Stufe 4 im Proposal-Prozess erreicht und lassen sich auf GitHub einsehen. Alle weiteren ECMAScript-Vorschläge in unterschiedlichen Stufen sind dort ebenfalls zu finden. Anfang 2024 hat TC39 – das technische Komitee für die Standardisierung von JavaScript – die neue Stufe 2,7 eingeführt, die der ehemaligen Stufe 3 entspricht.

Weitere Informationen zum neuen Standard sind auf der Ecma-International-Website verfügbar.

(mai)