In Chrome 72 haben wir 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 feststellen, 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 folgenden Links finden Sie weitere Änderungen in Chrome 72.
- Liste der Änderungen am Chromium-Quellcode-Repository
- ChromeStatus.com-Updates für Chrome 72
- Chrome 72: Einstellung und Entfernung
Öffentliche Klassenfelder
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 erleichtern die objektorientierte Programmierung erheblich.
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 zu Klassenfeldern von Mathias.
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 das zugehörige Fenster im Lebenszyklus derzeit eine Nutzeraktivierung hat.
Weitere Informationen finden Sie unter API-übergreifende Konsistenz der Nutzeraktivierung.
Listen mit Elementen mit Intl.format
lokalisieren
Ich liebe die Intl
-APIs. Sie sind sehr hilfreich bei der Lokalisierung von Inhalten in andere Sprachen. In Chrome 72 gibt es eine neue .format()
-Methode, die das Rendern von Listen vereinfacht. Wie bei anderen Intl
-APIs wird die Last auf die JavaScript-Engine verlagert, ohne dass die Leistung beeinträchtigt wird.
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.