Neu in Chrome 72

In Chrome 72 haben wir Unterstützung für Folgendes hinzugefügt:

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.

Ö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.

User Activation API vor und nach der Interaktion des Nutzers mit der Seite.

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 mit InvalidStateError 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.