In Chrome 72 hebben we ondersteuning toegevoegd voor:
- Het maken van openbare klassevelden in JavaScript is nu veel overzichtelijker.
- Met de nieuwe API voor gebruikersactivatie 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 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.
- Wijzigingslijst voor Chromium-bronrepository
- ChromeStatus.com-updates voor Chrome 72
- Chrome 72-verouderde en verwijderde versies
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.

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.
- Chrome 72 wijzigt het gedrag van
Cache.addAll()
om beter aan de specificatie te voldoen. Voorheen overschreven latere aanvragen de eerste als er dubbele vermeldingen in dezelfde aanroep stonden. Om aan de specificatie te voldoen, wordt de aanvraag afgewezen met eenInvalidStateError
als er dubbele vermeldingen in dezelfde aanroep staan . - Aanvragen voor favicons worden nu verwerkt door de service worker, op voorwaarde dat de aanvraag-URL zich op dezelfde oorsprong bevindt als de service worker.
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!