JavaScript-Engine: V8 9.5 erweitert die Internationalisierung

Googles Engine ergänzt die API für übersetzte Begriffe um neue Typen wie Datumsangaben. Außerdem kann sie WebAssembly-Code mit Exceptions direkt ausführen.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen

(Bild: Trismegist san/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Google hat Version 9.5 der JavaScript-Engine V8 veröffentlicht. Die Änderungen zielen vor allem auf eine erweiterte Internationalisierung für Datumsangaben und Kalender sowie für die Ausgabe von Zeitzonen. Außerdem setzt sie ein Proposal für das Exception-Handling in WebAssembly um.

Die JavaScript-API für internationale Bezeichnungen Intl.DisplayNames kennt V8 seit Version 8.1. Nun hat Google sie um die Typen calendar und dateTimeField erweitert. Letzterer gibt die Namen von Datumsbezeichnern wie Monat oder Jahr in der jeweiligen Landessprache an, während ersterer die Bezeichnung für den Kalender einer bestimmten Region übersetzt, wobei die Sprache und die Kalenderregion nicht dieselben sein müssen. Folgendes Beispiel aus dem V8-Blog veranschaulicht den Einsatz der neuen Typen:

const esCalendarNames = 
  new Intl.DisplayNames(['es'], { type: 'calendar' });
const frDateTimeFieldNames = 
  new Intl.DisplayNames(['fr'], { type: 'dateTimeField' });
esCalendarNames.of('roc');// "calendario de la República de China"
frDateTimeFieldNames.of('month'); // "mois"

Daneben erweitert V8 9.5 die API zur Angabe der Zeitzone Intl.DateTimeFormat um vier zusätzliche Optionen für timeZoneName: shortGeneric gibt die Kurzform der reinen Zonenzeit, also unabhängig von der Sommerzeit, beispielsweise als MEZ aus, und longGeneric ist die Langform der Zonenzeit wie Mitteleuropäische Zeit. shortOffset zeigt die Zeit relativ zur Greenwich Mean Time beispielsweise als GMT+1, während longOffset die Abweichung vierstellig formatiert: GMT+0100.

enterJS: die Konferenz für Enterprise-JavaScript

Vom 29. bis 30. September 2021 veranstaltet Heise Developer zusammen mit dpunkt.Verlag erneut eine Online-Ausgabe der Konferenz für JavaScript im Unternehmenseinsatz. Die enterJS bietet Entwicklerinnen und Entwicklern einen aktuellen Einblick in die Trends und Technologien der JavaScript-Welt, dieses Mal ist das Programm mit über 35 Talks und 4 Workshops besonders vielfältig. In drei Tracks pro Tag geht es unter anderem um die JavaScript-Frameworks Angular, Node.js, Vue.js, React, um TypeScript, Flutter und Svelte sowie um Tools und Techniken rund um die Programmiersprache. Resilienz, Wartbarkeit und Authentifizierung sowie die Desktop-Automatisierung (ja, auch hierzu gibt es etwas von JavaScript) sind einige der Themenschwerpunkte. Nähere Informationen zum Programm und den Tickets bietet die Konferenz-Webseite.

Für WebAssembly (Wasm) setzt V8 das Proposal zum Exception-Handling (Wasm EH) um. Entsprechend kompilierte Module bringen wohl deutlich weniger Overhead mit als der bisher genutzte Umweg über JavaScript. Als Versuchsballon hat das V8-Team den Binaryen-Optimierer mit der alten und neuen Implementierung des Exception-Handlings kompiliert. Im Vergleich zum Code ohne Behandeln der Exceptions war das Ergebnis mit dem JavaScript-Workaorund wohl 43 Prozent größer als ohne Exception-Handling und bei Wasm EH lediglich 8 Prozent.

Darüber hinaus hat Google die zentrale Header-Datei v8.h in mehrere Teile aufgeteilt, die sich einzeln einbinden lassen. Weitere Neuerungen in Version 9.5 lassen sich dem V8-Blog entnehmen. Wie üblich befindet sich die Engine so lange in der Beta-Phase, bis das stabile Release von Chrome 95 erscheint.

(rme)