Dans Chrome 72, nous avons ajouté la compatibilité avec les éléments suivants:
- La création de champs de classe publics en JavaScript est désormais beaucoup plus claire.
- Vous pouvez vérifier si une page a été activée avec la nouvelle API User Activation.
- La localisation des listes devient beaucoup plus facile avec l'API
Intl.format()
.
Et ce n'est pas tout ! Ce n'est pas tout !
Je m'appelle Pete LePage. Voyons ce que Chrome 72 a de nouveau à offrir aux développeurs.
Journal des modifications
Il ne s'agit là que de quelques-uns des points forts. Pour en savoir plus sur les modifications apportées à Chrome 72, consultez les liens ci-dessous.
- Liste des modifications du dépôt source Chromium
- Mises à jour de ChromeStatus.com pour Chrome 72
- Obsoletes et suppressions dans Chrome 72
Champs de classe publics
Mon premier langage était Java, et l'apprentissage de JavaScript m'a un peu perturbé. 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 ? De nombreuses mises à jour récentes de JavaScript qui facilitent grandement 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 V8 7.2, fournie avec Chrome 72, vous pouvez désormais déclarer des champs de classe publics directement dans la définition de la classe, ce qui vous évite de 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 cours de développement.
Pour en savoir plus, consultez l'article de Mathias sur les champs de classe.
API User Activation
Vous vous souvenez que le son des sites pouvait être diffusé automatiquement dès le chargement de la page ? Vous essayez de trouver la touche de désactivation du son ou de déterminer quel onglet était concerné, puis de le fermer. C'est pourquoi certaines API nécessitent une activation via un geste de l'utilisateur avant de fonctionner. Malheureusement, les navigateurs gèrent l'activation de différentes manières.
Chrome 72 introduit la version 2 de l'activation utilisateur, qui simplifie l'activation utilisateur pour toutes les API limitées. Il est basé sur une nouvelle spécification qui vise à normaliser le fonctionnement de l'activation dans tous les navigateurs.
Il existe une nouvelle propriété userActivation
sur navigator
et MessageEvent
, qui comporte deux propriétés: hasBeenActive
et isActive
:
hasBeenActive
indique si la fenêtre associée a déjà enregistré une activation utilisateur au cours de son cycle de vie.isActive
indique si la fenêtre associée dispose actuellement d'une activation utilisateur dans son cycle de vie.
Pour en savoir plus, consultez Assurer la cohérence de l'activation des utilisateurs entre les API.
Localiser des listes d'éléments avec Intl.format
J'adore les API Intl
. Elles sont très utiles pour localiser du contenu dans d'autres langues. Chrome 72 intègre 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 souhaités, puis appelez format
pour que les mots et la syntaxe corrects soient utilisés. Il peut utiliser des conjonctions, ce qui ajoute l'équivalent localisé de and (et regardez ces belles virgules d'Oxford). Il peut effectuer des disjonctions, en ajoutant l'équivalent local de ou. En fournissant des options supplémentaires, vous pouvez faire encore plus.
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 Int.ListFormat.
Et bien plus !
Ce ne sont là que quelques-unes des modifications apportées à Chrome 72 pour les développeurs.
- Chrome 72 modifie le comportement de
Cache.addAll()
pour mieux correspondre à la spécification. Auparavant, en cas d'entrées en double dans le même appel, les requêtes ultérieures écrasaient simplement la première. Pour respecter les spécifications, en cas d'entrées en double, la requête est rejetée avec un codeInvalidStateError
. - Les requêtes de favicons sont désormais gérées par le service worker, à condition que l'URL de la requête soit de la même origine que le service worker.
S'abonner
Si vous souhaitez rester informé de nos vidéos, abonnez-vous à notre chaîne YouTube pour les développeurs Chrome. Vous recevrez alors une notification par e-mail chaque fois que nous lancerons une nouvelle vidéo.
Je m'appelle Pete LePage. Dès que Chrome 73 sera disponible, je vous présenterai les nouveautés de Chrome.