In Chrome 72 hebben we ondersteuning toegevoegd voor:
- Het maken van openbare klassenvelden in JavaScript is nu veel schoner.
- Met de nieuwe User Activation API kunt u zien of een pagina is geactiveerd
- Het lokaliseren van lijsten wordt veel eenvoudiger met de
Intl.format()
API.
En er is nog veel meer !
Ik ben Pete LePage . Laten we erin duiken en kijken wat er nieuw is voor ontwikkelaars in Chrome 72!
Wijzig logboek
Dit behandelt slechts enkele van de belangrijkste hoogtepunten. Bekijk de onderstaande links voor aanvullende wijzigingen in Chrome 72.
- Wijzigingslijst voor Chromium-bronrepository's
- ChromeStatus.com-updates voor Chrome 72
- Beëindiging en verwijdering van Chrome 72
Openbare klassevelden
Mijn eerste taal was Java, en het leren van JavaScript bracht me een beetje in verwarring. Hoe heb ik een klas gemaakt? Of erfenis? Hoe zit het met publieke en private eigendommen en methoden? Veel van de recente updates van JavaScript die objectgeoriënteerd programmeren veel eenvoudiger maken.
Ik kan nu klassen maken die werken zoals ik verwacht, compleet met constructors, getters en setters, statische methoden en openbare eigenschappen.
Dankzij V8 7.2, dat wordt meegeleverd met Chrome 72, kunt u nu openbare klassenvelden rechtstreeks in de klassendefinitie declareren, waardoor u dit niet meer in de constructor hoeft 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
Ondersteuning voor privélesvelden is in de maak!
Meer details vindt u in het artikel van Mathias over klassenvelden voor meer details.
Gebruikersactiverings-API
Weet je nog dat sites automatisch geluid konden afspelen zodra de pagina werd geladen? Je haast je om op de mute-toets te drukken, of erachter te komen welk tabblad het was, en sluit het. Daarom vereisen sommige API's activering via een gebruikersgebaar voordat ze kunnen werken. Helaas verwerken browsers de activering op verschillende manieren.
Chrome 72 introduceert User Activation v2, wat de gebruikersactivatie voor alle gated API's vereenvoudigt. Het is gebaseerd op een nieuwe specificatie die tot doel heeft te standaardiseren hoe activering in alle browsers werkt.
Er is een nieuwe eigenschap userActivation
op zowel navigator
als MessageEvent
, die twee eigenschappen heeft: hasBeenActive
en isActive
:
-
hasBeenActive
geeft aan of het bijbehorende venster ooit een gebruikersactivatie heeft gezien in zijn levenscyclus. -
isActive
geeft aan of het bijbehorende venster momenteel een gebruikersactivatie in zijn levenscyclus heeft.
Meer details vindt u in Gebruikersactivatie consistent maken tussen API's
Lijsten met dingen lokaliseren met Intl.format
Ik ben dol op de Intl
API's, ze zijn super handig voor het lokaliseren van inhoud in andere talen! In Chrome 72 is er een nieuwe .format()
-methode die het weergeven van lijsten eenvoudiger maakt. Net als andere Intl
API's verschuift het de last naar de JavaScript-engine, zonder dat dit ten koste gaat van de prestaties.
Initialiseer het met de gewenste landinstelling, roep vervolgens format
aan en het gebruikt de juiste woorden en syntaxis. Het kan voegwoorden gebruiken - wat het gelokaliseerde equivalent van en toevoegt (en kijk eens naar die prachtige Oxford-komma's). Het kan disjuncties uitvoeren - het lokale equivalent van of toevoegen. En door enkele extra opties aan te bieden, kunt u 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 de Intl.ListFormat API- post voor meer details!
En meer!
Dit zijn slechts enkele van de veranderingen in Chrome 72 voor ontwikkelaars. Er is natuurlijk nog veel meer.
- Chrome 72 verandert het gedrag van
Cache.addAll()
zodat het beter aansluit bij de specificaties. Als er voorheen dubbele vermeldingen in dezelfde oproep waren, overschreven latere verzoeken eenvoudigweg de eerste. Om aan de specificaties te voldoen: als er dubbele vermeldingen zijn, wordt deze afgewezen met eenInvalidStateError
. - Aanvragen voor favicons worden nu afgehandeld door de servicemedewerker, zolang de aanvraag-URL dezelfde oorsprong heeft als de servicemedewerker.
Abonneren
Wil je op de hoogte blijven van onze video's, abonneer je dan op ons Chrome Developers YouTube-kanaal en je ontvangt een e-mailmelding wanneer we een nieuwe video lanceren.
Ik ben Pete LePage, en zodra Chrome 73 uitkomt, ben ik hier om je te vertellen: wat er nieuw is in Chrome!