In Chrome 72 haben wir Unterstützung für Folgendes hinzugefügt:
- Das Erstellen von öffentlichen Klassenfeldern in JavaScript ist jetzt viel einfacher.
- Sie können prüfen, ob eine Seite mit der neuen User Activation API aktiviert wurde.
- Mit der
Intl.format()
API wird die Lokalisierung von Listen viel einfacher.
Und es gibt noch viel mehr!
Ich bin Pete LePage. Sehen wir uns an, was es Neues für Entwickler in Chrome 72 gibt.
Änderungsprotokoll
Dies sind nur einige der wichtigsten Änderungen. Über die Links unten finden Sie weitere Änderungen in Chrome 72.
- Chromium-Quellcode-Repository – Änderungsliste
- ChromeStatus.com-Updates für Chrome 72
- Einstellung und Entfernung von Funktionen in Chrome 72
Öffentliche Klassenfelder
Meine erste Sprache war Java und das Erlernen von JavaScript hat mich ein wenig verwirrt. Wie habe ich einen Kurs erstellt? Oder Vererbung? Was ist mit öffentlichen und privaten Eigenschaften und Methoden? Viele der aktuellen Updates für JavaScript erleichtern die objektorientierte Programmierung erheblich.
Ich kann jetzt Klassen erstellen, die wie erwartet funktionieren, komplett mit Konstruktoren, Gettern und Settern, statischen Methoden und öffentlichen Eigenschaften.
Dank V8 7.2, das in Chrome 72 enthalten ist, können Sie jetzt öffentliche Klassenfelder 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, als Websites automatisch Ton wiedergeben konnten, sobald die Seite geladen wurde? Sie suchen schnell die Stummschaltungstaste oder den Tab und schließen ihn. Deshalb müssen einige APIs durch eine Nutzergeste aktiviert werden, bevor sie funktionieren. Leider wird die Aktivierung in Browsern unterschiedlich gehandhabt.

In Chrome 72 wird User Activation v2 eingeführt, wodurch die Nutzeraktivierung für alle APIs mit Zugriffsbeschränkung vereinfacht wird. Sie basiert auf einer neuen Spezifikation, die darauf abzielt, die Aktivierung in allen Browsern zu standardisieren.
Sowohl für navigator
als auch für MessageEvent
gibt es ein neues Attribut userActivation
mit zwei Attributen: hasBeenActive
und isActive
:
hasBeenActive
gibt an, ob das zugehörige Fenster jemals eine Nutzeraktivierung in seinem Lebenszyklus hatte.isActive
gibt an, ob das zugehörige Fenster derzeit eine Nutzeraktivierung in seinem Lebenszyklus hat.
Weitere Informationen finden Sie unter Nutzeraktivierung über APIs hinweg vereinheitlichen.
Listen mit Intl.format
lokalisieren
Ich finde die Intl
APIs toll. Sie sind sehr hilfreich, um Inhalte in andere Sprachen zu lokalisieren. In Chrome 72 gibt es eine neue .format()
-Methode, die das Rendern von Listen vereinfacht. Wie bei anderen Intl
-APIs wird die Belastung auf die JavaScript-Engine verlagert, ohne dass die Leistung darunter leidet.
Initialisieren Sie sie mit der gewünschten Sprache und rufen Sie dann format
auf. Dabei werden die richtigen Wörter und die richtige Syntax verwendet. Es kann Konjunktionen verwenden, wodurch das lokalisierte Äquivalent von und hinzugefügt wird (und sehen Sie sich diese schönen Oxford-Kommas an). Sie können auch Disjunktionen erstellen, indem Sie das lokale Äquivalent von oder hinzufügen. Mit einigen zusätzlichen Optionen sind sogar noch mehr Möglichkeiten gegeben.
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 Blogbeitrag zur Intl.ListFormat API.
…und vieles mehr
Das sind natürlich nur einige der Änderungen in Chrome 72 für Entwickler.
- 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. Entsprechend der Spezifikation wird bei doppelten Einträgen eine Ablehnung mitInvalidStateError
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, wenn wir ein neues Video veröffentlichen.
Ich bin Pete LePage und sobald Chrome 73 veröffentlicht wird, erfahrt ihr hier, was es Neues in Chrome gibt.