Wie geht es weiter nach ECMAScript 2018?

ECMAScript: Weitere Pläne und die Arbeit des TC39
Keine Kommentare

Im Januar-Meeting des ECMA TC39 wurde nicht nur die Feature-Liste für den kommenden ECMAScript-Standard 2018 finalisiert, sondern auch über andere Proposals gesprochen. Nun liegt die Zusammenfassung der Ergebnisse des Meetings vor. Wie wird ECMAScript weiter entwickelt?

Im Januar-Meeting des TC39 wurden zahlreiche mögliche neue Features für ECMAScript besprochen. Darunter waren sowohl solche, die nun in den neuen Standard implementiert werden, als auch neue Proposals. Das Protokoll des Meetings steht auf GitHub zur Verfügung. Wie arbeitet das TC39 aber genau und wie sind die dort gelisteten Vorschläge einzuordnen?

Proposals & Features: Der TC39-Prozess

TC39 steht für Technical Committee 39 und bezeichnet die technische Arbeitsgruppe von ECMA International, die am ECMAScript-Standard arbeitet. Zahlreiche große Tech-Unternehmen gehören dem Komitee an; darunter alle großen Browser-Entwickler. In regelmäßigen Sitzungen entscheiden Delegierte der beteiligten Unternehmen darüber, welche Proposals es in den neuen ECMAScript-Standard schaffen. Der Prozess von der Idee zum Feature ist in fünf Stufen unterteilt, wobei Stufe 0 als Strawman bezeichnet wird, also noch vor der Stufe eines Entwurfs kommt und für jeden Input für die Spezifikation genutzt wird. Vorschläge der Stufe 4 sind fertig für die Aufnahme in den Standard. Proposals sind Vorschläge der Stufe 1, Stufe zwei wird als Draft bezeichnet und Stufe drei als Candidate. Alle Informationen zu den verschiedenen Stufen des Prozesses können ebenfalls auf GitHub gefunden werden.

Neue Proposals für ECMAScript

Im Rahmen eines Proposals wird erläutert, warum eine neue Funktion für JavaScript sinnvoll ist und wie eine Implementierung aussehen könnte. Vorgestellt wurde im Januar-Meeting des TC39 beispielsweise ein Proposal zur Nutzung von await auf Top-Level. Der Präsentation zum Proposal ist zu entnehmen, dass die Idee nicht neu ist, sondern bereits im Kontext des async / await-Proposlas 2014 und 2015 diskutiert, damals jedoch abgelehnt wurde, um den Prozess zur Einführung von async / await nicht zu blockieren. Begründet wird das neue Proposal damit, dass die derzeitige Implementierung die Nutzung von await auf async-Funktionen begrenzt, die darum häufig als Top-Level-Funktionen genutzt werden.

Um daraus entstehende Probleme zu vermeiden, wurden drei mögliche Lösungen im Rahmen des TC39-Meetings vorgestellt, die in der oben verlinkten Präsentation erläutert werden:

  • Variant A: top-level await blocks tree execution
  • Variant B: top-level await does not block sibling execution
  • Variant C: top-level await can only be used in modules without exports

Die Diskussion des als Proposal akzeptierten Vorschlags zur Top-Level-Nutzung von await kann im Protokoll nachgelesen werden; das Komitee hat sich bislang nicht auf eine der Lösungen festgelegt.

Angular Kickstart: von 0 auf 100

mit Christian Liebel (Thinktecture AG) und Peter Müller (Freelancer)

JavaScript für Softwareentwickler – für Einsteiger und Umsteiger

mit Yara Mayer (evia) und Sebastian Springer (MaibornWolff)

Folgende weitere Proposals wurden akzeptiert und somit auf Stufe 1 gesetzt:

  • {BigInt,Number}.fromString Stage 1
  • Math.seededRandoms() Stage 1
  • Function.prototype.toString() censorship Stage 1
  • Top-level await to Stage 1
  • Maximally minimal mixins proposal to Stage 1.
  • Getting last item from Array to Stage 1 with plans for further work.

Weiter fortgeschritten ist der Vorschlag, ECMAScript zum syntaktischen Superset von JSON zu machen. Dazu muss die Möglichkeit geschaffen werden, dass Strings in JavaScript zwei nicht maskierte Zeichen enthalten dürfen. Eine Änderung an JSON sei nicht möglich, also müsse eine Anpassung in ECMAScript erfolgen.

Einen Überblick über alle Entscheidungen des TC39 gibt das verlinkte Protokoll der Sitzung auf GitHub. Zu den Entscheidungen des Meetings gehört außerdem, dass das TC39 sich ein offizielles Logo gegeben hat.

Quelle: https://github.com/tc39/logo

Der neue ECMAScript-Standard soll im Juni veröffentlicht werden. Die Auswahl der Proposals für ECMAScript 2018 ist abgeschlossen, neu hinzukommende Proposals können als frühestens zu ECMAScript 2019 standardisiert werden.

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 -