Das ECMAScript-Proposal globalThis
ist fertig: Im Rahmen des Oktober-Meetings des TC39 wurde das Proposal auf Stufe 4 des ECMAScript-Prozesses gesetzt und geht somit in den kommenden Standard ein. Für ECMAScript 2020 (ES11) stehen damit nun fünf Features fest: String.prototype.matchAll
, import()
, BigInt
, Promise.allSettled
und, wie der Liste der fertigen Proposals zu entnehmen ist, seit dieser Woche auch globalThis
.
globalThis
stellt einen einheitlichen Weg zum Zugriff auf den globalen this
-Wert in JavaScript dar, der dem globalen Objekt entspricht. Bislang standen verschiedene Optionen dafür zur Verfügung, die abhängig von der verwendeten Umgebung waren. globalThis
wird derzeit laut der Website „caniuse“ von Chrome, Firefox, Safari, sowie einigen mobilen Browsern unterstützt. Edge bringt noch keinen Support mit. Mit der Standardisierung im kommenden Jahr soll die aktuelle Spezifikation der Syntax im Ökosystem ankommen.
Neue Proposals für ECMAScript: Tuples auf Stufe 1
Außerdem wurde in dieser Woche erstmalig über ein Proposal abgestimmt, das Records und Tuples als Typen in ECMAScript etablieren möchte. Records und Tuples sollen tiefe unveränderliche Datenstrukturen in JavaScript garantieren. Zu den Zielen des Proposals gehört außerdem, dass die neuen Typen leichter für externe Typsysteme wie TypeScript und Flow verständlich sein sollen. Der Vorschlag hat es auf Stufe 1 der Standardisierung geschafft; bis das Proposal bereit für Stufe 4 und damit die Standardisierung ist, wird noch einige Zeit vergehen. Der aktuelle Status kann dem Entwurf auf GitHub entnommen werden.
Auf Stufe 1 wurden im Rahmen des Oktober-Meetings des TC39 insgesamt acht Proposals gesetzt:
- objectMap
- Declarations in Conditionals
- UUID
- OOM Fails Fast
- Support for Distributed Promise Pipelining
- Wavy Dot syntax for promise pipelining
- Readonly Collections
- Records & Tuples
Stufe 1 drückt aus, dass ein Vorschlag zur Aufnahme neuer Features in den ECMAScript-Standard für grundsätzlich sinnvoll erachtet wird und eine erste Idee präsentiert wurde, wie das vorgestellte Problem gelöst werden könnte. Außerdem wurden ein oder mehrere Champions definiert, die das Proposal im TC39 vertreten. Für die Einstufung auf eine höhere Stufe im Prozess müssen verschiedene weitere Kriterien erfüllt sein, die im Prozess-Dokument nachgelesen werden können.
Weitere Informationen zum Oktober-Meeting können der Agenda entnommen werden. Alle Proposals der Stage 1 sind in dieser Liste zu finden, die fertigen Proposals der Stufe 4 werden separat aufgelistet.