Dans Chrome 72, nous avons ajouté la prise en charge des éléments suivants:
- La création de champs de classe publics en JavaScript est désormais beaucoup plus claire.
- Vous pouvez voir si une page a été activée avec la nouvelle API User Activation.
- Il est désormais beaucoup plus facile de localiser des listes avec l'API
Intl.format()
.
Et ce n'est pas tout : beaucoup plus !
Je m'appelle Pete LePage. C'est parti pour découvrir les nouveautés de Chrome 72 pour les développeurs !
Journal des modifications
Cet article ne présente que certains points clés. Consultez les liens ci-dessous pour en savoir plus sur les modifications supplémentaires apportées à Chrome 72.
- Liste des modifications du dépôt source Chromium
- Mises à jour du site ChromeStatus.com pour Chrome 72
- Abandons et suppressions de Chrome 72
Champs de classe publics
Mon premier langage était Java, et l'apprentissage de JavaScript m'a amené à créer une boucle. Comment ai-je créé un cours ? Ou l’héritage ? Qu'en est-il des propriétés et des méthodes publiques et privées ? Un grand nombre des mises à jour récentes de JavaScript qui facilitent la programmation orientée objet.
Je peux maintenant créer des classes qui fonctionnent comme prévu, avec des constructeurs, des getters et des setters, des méthodes statiques et des propriétés publiques.
Grâce à la version 7.2, intégrée à Chrome 72, vous pouvez désormais déclarer des champs de classe publique directement dans la définition de classe, ce qui vous évite de devoir le faire dans le constructeur.
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
La prise en charge des champs de classe privés est en préparation.
Reportez-vous à l'article de Mathias consacré aux champs de classe pour en savoir plus.
API User Activation
Vous vous souvenez quand les sites pouvaient lire automatiquement du son dès le chargement de la page ? Vous devez appuyer sur la touche de coupure du son, ou trouver de quel onglet il s'agit et le fermer. C'est pourquoi certaines API nécessitent une activation par un geste de l'utilisateur avant de fonctionner. Malheureusement, les navigateurs gèrent l'activation de différentes manières.
Chrome 72 introduit User Activation v2, qui simplifie l'activation des utilisateurs pour toutes les API contrôlées. Il est basé sur une nouvelle spécification qui vise à standardiser le fonctionnement de l'activation sur tous les navigateurs.
Il existe une nouvelle propriété userActivation
sur navigator
et MessageEvent
. Elle comporte deux propriétés: hasBeenActive
et isActive
:
hasBeenActive
indique si la fenêtre associée a déjà vu une activation de l'utilisateur dans son cycle de vie.isActive
indique si la fenêtre associée comporte actuellement une activation de l'utilisateur dans son cycle de vie.
Pour en savoir plus, consultez Rendre l'activation des utilisateurs cohérente entre les API.
Localiser des listes d'éléments avec Intl.format
J'adore les API Intl
, qui sont très utiles pour localiser du contenu dans d'autres langues. Dans Chrome 72, il existe une nouvelle méthode .format()
qui facilite l'affichage des listes. Comme les autres API Intl
, elle transfère la charge au moteur JavaScript, sans sacrifier les performances.
Initialisez-la avec les paramètres régionaux de votre choix, puis appelez format
pour utiliser les mots et la syntaxe appropriés. Elle peut effectuer des conjonctions, ce qui ajoute l'équivalent localisé de and (et regardez ces belles virgules d'oxford). Cette méthode peut effectuer des disjonctions en ajoutant l'équivalent local de or. Vous pouvez également aller plus loin en fournissant des options supplémentaires.
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'
Pour en savoir plus, consultez l'article sur l'API Intl.ListFormat.
Et bien plus !
Ce ne sont là que quelques-unes des modifications apportées à Chrome 72 pour les développeurs, bien sûr, mais il y en a bien d'autres.
- Chrome 72 modifie le comportement de
Cache.addAll()
pour mieux correspondre aux spécifications. Auparavant, s'il y avait des entrées en double dans le même appel, les requêtes ultérieures écraseraient simplement les premières. Pour respecter les spécifications, s'il existe des entrées en double, les entrées seront rejetées avec un message d'erreurInvalidStateError
. - Les requêtes de favicons sont désormais gérées par le service worker tant que l'URL de la requête a la même origine que le service worker.
S'abonner
Pour suivre l'actualité de nos vidéos, abonnez-vous à notre chaîne YouTube pour les développeurs Chrome afin de recevoir une notification par e-mail chaque fois qu'une nouvelle vidéo est mise en ligne.
Je m'appelle Pete LePage et, dès la sortie de Chrome 73, je serai là pour vous dire : les nouveautés de Chrome !