Die Features für ECMAScript 2018 stehen fest: Insgesamt acht neue Features haben es in den Standard geschafft, der im Sommer fertiggestellt werden soll. Damit ist die Auswahl neuer Features abgeschlossen. Die wichtigsten Neuerungen sind Asynchronous Iterators und Rest/Spread Properties. Auch für Regular Expressions gibt es aber gleich vier neue Features.
Welche Proposals haben es in den neuen JavaScript-Standard geschafft? Diese Frage wird bereits seit einigen Jahren immer im Rahmen des ersten Meetings des TC39 im neuen Jahr beantwortet. Auch dieses Jahr hat sich das Expertenkomitee im Januar zusammengefunden und auf die Liste der Neuerungen für die in diesem Jahr erscheinende Version von ECMAScript geeignigt.
Geschafft in ECMAScript 2018 haben es acht Proposals und somit erneut mehr als im Vorjahr. Vier davon entfallen auf Verbesserungen an den Regular Expressions in JavaScript, die dadurch leichter lesbar und verwendbar werden sollen. Die zwei wichtigsten Neuerungen stellen für Dr. Axel Rauschmayer zwei andere Features dar: Asynchronous Iterators und Rest/Spread Properties.
Asynchronous Iterators stellen eine Erweiterung des bisherigen Iterator Interface dar, das bereits seit ECMAScript 2015 Teil des JavaScript-Kerns ist. Im Proposal auf GitHub, das von Domenic Denicola und Kevin Smith erstellt wurde, werden die neuen Asynchronous Iterators wie folgt definiert:
An async iterator is much like an iterator, except that its
next()
method returns a promise for a{ value, done }
pair.
Neu ist, dass nun auch mit asynchronen Datenquellen gearbeitet werden kann, nicht nur mit synchronen, wie im bisherigen Iterator Interface.
Object Rest/Spread Properties fügen ECMAScript Rest Properties für das Object Destructuring Assignment und Spread Properties für Object Literals hinzu, so kann es dem entsprechenden Proposal auf GitHub. Genauere Beschreibungen und Codebeispiele können in der offiziellen Spezifikation gefunden werden.
Mathias Bynens, Mitglied des TC39, hat die Neuerungen an den Regular Expressions auf Twitter zusammengefasst:
After today’s TC39 meeting, I’m excited to announce that…
ES2018 makes regular expressions more readable and useful through the following features:
– dotAll mode (the s flag)
– Lookbehind assertions
– Named capture groups
– Unicode property escapeshttps://t.co/Aqscur5xzK— Mathias Bynens (@mathias) 25. Januar 2018
Explore Vitest, the JavaScript testing framework built for Vite, with React, Vue, and Node.js support plus modern features like ECMAScript modules.
In seinem Blog gibt Bynens weitere Informationen zu den neuen Features von Regular Expressions: Der neue dotAll
Mode kann über das s
Flag aktiviert werden. Damit kann .
auch für Line Terminators stehen. Mit Named Capture Groups können außerdem nun Namen statt zahlen zur Identifikation von Capture Groups verwendet werden. Informationen zu allen weiteren Neuerungen an Regular Expressions gibt es im Blogpost zu den Proposals für Regular Expressions. Auch hat Bynens eine Reihe von Quellen zu den neuen Features zusammengestellt:
New JavaScript features in ES2018:
– async iterators/generators https://t.co/5e9A4MMP6V
– object rest/spread https://t.co/X14jGn31Aj
– Promise.prototype.finally https://t.co/Uct3ga7KtJ
– various RegExp features https://t.co/bQQjtuKKEs— Mathias Bynens (@mathias) 26. Januar 2018
Die neuen Features von ECMAScript 2018, das im Sommer fertig gestellt werden soll, sind bereits jetzt in der JavaScript-Engine V8 und Chrome ab Version 63 verfügbar.