In Chrome 72 wurde Unterstützung für Folgendes hinzugefügt:
- Das Erstellen von öffentlichen Klassenfeldern in JavaScript ist jetzt viel übersichtlicher.
- Mit der neuen User Activation API können Sie prüfen, ob eine Seite aktiviert wurde.
- Mit der
Intl.format()
API ist die Lokalisierung von Listen viel einfacher.
Und es gibt noch viel mehr!
Ich bin Pete LePage. Sehen wir uns an, was in Chrome 72 für Entwickler neu ist.
Änderungsprotokoll
Dies sind nur einige der wichtigsten Highlights. Unter den Links unten finden Sie weitere Änderungen in Chrome 72.
- Liste der Änderungen am Chromium-Quellcode-Repository
- ChromeStatus.com-Updates für Chrome 72
- Eingestellte und entfernte Funktionen in Chrome 72
Felder der öffentlichen Klasse
Meine erste Programmiersprache war Java und das Erlernen von JavaScript war für mich etwas verwirrend. Wie habe ich einen Kurs erstellt? Oder Vererbung? Was ist mit öffentlichen und privaten Eigenschaften und Methoden? Viele der aktuellen Updates für JavaScript, die die objektorientierte Programmierung erheblich vereinfachen.
Ich kann jetzt Klassen erstellen, die wie erwartet funktionieren, mit Konstruktoren, Gettern und Settern, statischen Methoden und öffentlichen Eigenschaften.
Dank V8 7.2, das in Chrome 72 enthalten ist, können Sie öffentliche Klassenfelder jetzt direkt in der Klassendefinition deklarieren. Das ist nicht mehr im Konstruktor erforderlich.
class Counter {
_value = 0;
get value() {
return this._value;
}
increment() {
this._value++;
}
}
const counter = new Counter();
console.log(counter.value);
// → 0
counter.increment();
console.log(counter.value);
// → 1
Die Unterstützung für private Klassenfelder ist in Arbeit.
Weitere Informationen finden Sie im Artikel von Mathias zu Klassenfeldern.
User Activation API
Erinnern Sie sich noch daran, dass Websites automatisch Ton wiedergeben konnten, sobald die Seite geladen wurde? Sie versuchen, die Stummschalttaste zu drücken oder herauszufinden, welcher Tab es war, und ihn zu schließen. Aus diesem Grund müssen einige APIs über eine Nutzergeste aktiviert werden, bevor sie funktionieren. Leider gehen Browser bei der Aktivierung unterschiedlich vor.

In Chrome 72 wird die Nutzeraktivierung 2 eingeführt, die die Nutzeraktivierung für alle eingeschränkten APIs vereinfacht. Sie basiert auf einer neuen Spezifikation, die die Aktivierung in allen Browsern standardisieren soll.
Sowohl für navigator
als auch für MessageEvent
gibt es eine neue userActivation
-Property mit zwei Properties: hasBeenActive
und isActive
:
hasBeenActive
gibt an, ob im Lebenszyklus des zugeordneten Fensters eine Nutzeraktivierung stattgefunden hat.isActive
gibt an, ob für das zugehörige Fenster derzeit eine Nutzeraktivierung im Lebenszyklus vorliegt.
Weitere Informationen finden Sie unter Nutzeraktivierung API-übergreifend konsistent gestalten.
Listen mit Elementen mit Intl.format
lokalisieren
Ich liebe die Intl
APIs. Sie sind super hilfreich, um Inhalte in andere Sprachen zu lokalisieren. In Chrome 72 gibt es eine neue .format()
-Methode, die das Rendern von Listen vereinfacht. Wie andere Intl
APIs verlagert sie die Last auf die JavaScript-Engine, ohne die Leistung zu beeinträchtigen.
Initialisieren Sie ihn mit der gewünschten Sprache und rufen Sie dann format
auf. Die richtigen Wörter und die richtige Syntax werden verwendet. Es kann Konjunktionen verarbeiten, wodurch das lokalisierte Äquivalent von und hinzugefügt wird. Außerdem werden die schönen Oxford-Kommas verwendet. Es kann Disjunktionen ausführen, indem das lokale Äquivalent von oder hinzugefügt wird. Mit einigen zusätzlichen Optionen sind noch mehr Funktionen möglich.
const opts = {type: 'disjunction'};
const lf = new Intl.ListFormat('fr', opts);
lf.format(['chien', 'chat', 'oiseau']);
// → 'chien, chat ou oiseau'
lf.format(['chien', 'chat', 'oiseau', 'lapin']);
// → 'chien, chat, oiseau ou lapin'
Weitere Informationen finden Sie im Hilfeartikel zur Intl.ListFormat API.
…und vieles mehr
Das sind nur einige der Änderungen in Chrome 72 für Entwickler. Es gibt natürlich noch viele weitere.
- In Chrome 72 wurde das Verhalten von
Cache.addAll()
geändert, um besser der Spezifikation zu entsprechen. Bisher wurden bei doppelten Einträgen im selben Aufruf spätere Anfragen einfach überschrieben. Wenn es doppelte Einträge gibt, wird die Anfrage gemäß der Spezifikation abgelehnt und es wirdInvalidStateError
zurückgegeben. - Anfragen für Favicons werden jetzt vom Service Worker verarbeitet, sofern die Anfrage-URL denselben Ursprung wie der Service Worker hat.
Abonnieren
Wenn Sie über unsere Videos auf dem Laufenden bleiben möchten, abonnieren Sie unseren YouTube-Kanal für Chrome-Entwickler. Sie erhalten dann eine E-Mail-Benachrichtigung, sobald wir ein neues Video veröffentlichen.
Ich bin Pete LePage. Sobald Chrome 73 veröffentlicht wird, erzähle ich Ihnen gern, was es Neues in Chrome gibt.