Nieuw in Chrome 72

In Chrome 72 hebben we ondersteuning toegevoegd voor:

En er is nog veel meer !

Ik ben Pete LePage . Laten we eens kijken wat er nieuw is voor ontwikkelaars in Chrome 72!

Wijzigingslogboek

Hieronder worden slechts enkele van de belangrijkste hoogtepunten besproken. Bekijk de onderstaande links voor meer wijzigingen in Chrome 72.

Openbare klassevelden

Mijn moedertaal was Java, en het leren van JavaScript bracht me even in de war. Hoe heb ik een klasse gemaakt? Of overerving? Hoe zit het met public en private eigenschappen en methoden? Veel van de recente updates van JavaScript maken objectgeoriënteerd programmeren veel eenvoudiger.

Ik kan nu klassen maken die werken zoals ik verwacht, compleet met constructors, getters en setters, statische methoden en publieke eigenschappen.

Dankzij V8 7.2, dat bij Chrome 72 wordt geleverd, kunt u nu openbare klassevelden rechtstreeks in de klassedefinitie declareren. Dit hoeft u dus niet meer in de constructor te doen.

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

Er wordt gewerkt aan ondersteuning voor privéklassevelden!

Meer details vindt u in het artikel van Mathias over klassevelden .

API voor gebruikersactivering

Weet je nog dat sites automatisch geluid konden afspelen zodra de pagina geladen was? Je haast je om op de mute-knop te drukken, of om uit te zoeken welk tabblad het was, en sluit het. Daarom vereisen sommige API's activering via een gebruikersgebaar voordat ze werken. Helaas verwerken browsers activering op verschillende manieren.

API voor gebruikersactivering vóór en nadat de gebruiker interactie heeft gehad met de pagina.

Chrome 72 introduceert User Activation v2, wat de activering door gebruikers voor alle beveiligde API's vereenvoudigt. Deze is gebaseerd op een nieuwe specificatie die tot doel heeft de werking van activering in alle browsers te standaardiseren.

Er is een nieuwe eigenschap userActivation in zowel navigator als MessageEvent , die twee eigenschappen heeft: hasBeenActive en isActive :

  • hasBeenActive geeft aan of het gekoppelde venster ooit een gebruikersactivering heeft gezien in zijn levenscyclus.
  • isActive geeft aan of het gekoppelde venster op dit moment een activering door de gebruiker heeft in zijn levenscyclus.

Meer details vindt u in 'Gebruikersactivatie consistent maken over API's'

Lijsten met dingen lokaliseren met Intl.format

Ik ben dol op de Intl API's, ze zijn superhandig voor het lokaliseren van content naar andere talen! In Chrome 72 is er een nieuwe .format() -methode die het renderen van lijsten eenvoudiger maakt. Net als andere Intl API's verschuift deze de belasting naar de JavaScript-engine, zonder dat dit ten koste gaat van de prestaties.

Initialiseer het met de gewenste landinstelling, roep format aan en het gebruikt de juiste woorden en syntaxis. Het kan voegwoorden gebruiken - wat het gelokaliseerde equivalent van 'and' toevoegt (en kijk eens naar die prachtige Oxford-komma's). Het kan disjuncties gebruiken - wat het lokale equivalent van 'or' toevoegt. En met wat extra opties kun je nog meer doen.

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'

Bekijk het Intl.ListFormat API- bericht voor meer informatie!

En nog veel meer!

Dit zijn slechts enkele van de wijzigingen in Chrome 72 voor ontwikkelaars. Er is natuurlijk nog veel meer.

Abonneren

Wilt u op de hoogte blijven van onze video's? Abonneer u dan op ons Chrome Developers YouTube-kanaal . U ontvangt dan een e-mailmelding wanneer we een nieuwe video lanceren.

Ik ben Pete LePage en zodra Chrome 73 uitkomt, vertel ik u wat er nieuw is in Chrome!