DAs TC39 entscheidet... noch nicht.

ECMAScript 2019: Kommt Array.prototype.flat nächstes Jahr oder nicht?
Keine Kommentare

Bereits im Sommer standen die ersten Features für ECMAScript 2019 fest. Inzwischen ist das Komitee hinter ECMAScript erneut zusammengetreten. Welche weiteren Features von JavaScript könnten nächstes Jahr im Standard ankommen – und ist das heiß diskutierte Array.prototype.flat fertig?

Bekommt ECMAScript 2019 eine offizielle Implementierung von JSON.stringify, mit der die Ausgabe fehlerhafter Unicodes verhindert wird? Noch wäre es möglich – das Proposal für dieses Feature hat Stufe 3 erreicht und könnte somit, sollten sich im Testverlauf keine Schwierigkeiten ergeben, noch rechtzeitig zur nächsten Version von ECMAScript fertig werden. Die Tatsache, dass laut Protokoll des letzten Meetings des TC39 kein Diskussionsbedarf zum Proposal bestand, deutet darauf hin, dass es den TC39-Prozess problemlos durchlaufen könnte.

Proposals auf Stufe 2 – ECMAScript 2020?

Im Rahmen des letzten Meetings des TC39 wurden außerdem drei Proposals auf Stufe 2 gesetzt, die vielleicht erste Kandidaten für ECMAScript 2020 sein könnten. Dazu gehört ein Proposal zur Aufnahme von Unicode Property Escapes in reguläre Ausdrücke. Hier sollen Properties in ECMAScript aufgenommen werden, die eine Sequenz für Unicode-Zeichen abbilden. Spezifisch sind die Properties Emoji_Flag_Sequence, Emoji_Keycap_Sequence, Emoji_Modifier_Sequence, Emoji_Tag_Sequence, Emoji_ZWJ_Sequence und Basic_Emoji vorgesehen, die im Unicode Technical Standard #51 definiert wurden.

Dazu soll die bereits vorhandene Unicode Property Escape Syntax verwendet werden. Hier ergibt sich aus der Notation \p{…} jedoch ein möglicher Konflikt, falls eine Änderung an Unicode selbst vorgenommen wird. Sollte künftig per Default ein Mapping der betreffenden Properties auf Sequenzen vorgesehen sein, müsste die Implementierung in ECMAScript geändert werden, wie im Rahmen des Meetings des TC39 besprochen wurde. Alternativ wäre \q{…} denkbar, um dieses Problem zu umgehen. Zur Klärung dieser Frage werde, so ist dem Meetingprotokoll weiter zu entnehmen, eine Zusammenarbeit mit dem Unicode-Konsortium angestrebt.

Auf Stufe 2 bestätigt wurde außerdem das Hashbang-Proposal. Das Propsal hatte bereits Stufe 2 erreicht, wurde danach jedoch umfassend neu formuliert, sodass erneut über die Aufnahme auf Stufe 2 entschieden wurde. Die neue Formulierung kann im Proposal-Text gefunden werden.

Das dritte Proposal, das Stufe 2 erreicht hat, sind Temporals. Das Proposal hat zum Ziel, Standard-Objekte und -Funktionen für die Verwendung von Daten und Zeiten in ECMAScript zu implementieren.

Array.prototype.flat: Ein Kandidat für ECMAScript 2019 – aber nicht fertig

Das bereits lang diskutierte Array.prototype.flat{,Map}, das zuerst flatten heißen sollte und dann fast smoosh genannt worden wäre, sollte im Rahmen des September-Meetings für Stage 4 vorgeschlagen werden. Michael Ficarra, Autor des Proposals, verzichtete jedoch darauf, dies zur Diskussion zu stellen, da sich erneut Schwierigkeiten mit der Implementierung ergeben haben. Ein Bugreport deutet auf Probleme mit der Library HighCharts hin. Bereits der ursprünglich vorgeschlagene Name, flatten, war wegen Probleme mit einer Library abgelehnt worden. Erneut hat das TC39 nun über smoosh diskutiert, dies jedoch explizit aufgrund des bereits bekannten Feedbacks aus der Community abgelehnt. Vorläufig soll nun geprüft werden, ob eine erneute Umbenennung tatsächlich nötig ist.

Insofern bleibt offen, ob Array.prototype.flat{,Map} in ECMAScript2019 enthalten sein wird oder nicht. Auch darüber hinaus stehen bislang erst zwei neue Features fest – eine neue Syntax für Catch Bindings und eine Anpassung an ECMAScript, sodass es zum Superset von JSON wird. Bleibt es also dabei? Bis zum 17.11. können Mitglieder des TC39 noch Proposals zur Hochstufung im Rahmen des kommenden Meetings Ende November einreichen. Bislang ist das jedoch nur für Proposals der Stufen 1 und 2 geschehen, sodass sich noch kein weiterer Kandidat für den kommenden ECMAScript-Standard in der Agenda abzeichnet.

Für den diesjährigen Standard wurde das Featureset im Januar-Meeting 2018 finalisiert. Für Features, die jetzt noch nicht auf Stufe 3 angelangt sind, könnte die Zeit also knapp werden. Noch sind weitere Features für ECMAScript 2019 aber möglich.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -