No Chrome 72, adicionamos suporte para:
- A criação de campos de classe públicos em JavaScript agora é muito mais simples.
- É possível conferir se uma página foi ativada com a nova API User Activation.
- Localizar listas fica muito mais fácil com a API
Intl.format()
.
E tem muito mais.
Meu nome é Pete LePage. Vamos nos aprofundar e ver as novidades para desenvolvedores do Chrome 72.
Registro de alterações
Este artigo aborda apenas alguns dos principais destaques. Confira os links abaixo para ver outras mudanças no Chrome 72.
- Lista de mudanças no repositório de origem do Chromium
- Atualizações do ChromeStatus.com para o Chrome 72
- Remoção e descontinuação de recursos do Chrome 72
Campos de classe pública
Minha primeira linguagem foi Java, e aprender JavaScript me deixou um pouco confuso. Como faço para criar uma turma? Ou herança? E as propriedades e métodos públicos e privados? Muitas das atualizações recentes do JavaScript que facilitam a programação orientada a objetos.
Agora posso criar classes que funcionam como eu espero, com construtores, getters e setters, métodos estáticos e propriedades públicas.
Graças ao V8 7.2, que vem com o Chrome 72, agora é possível declarar campos de classe pública diretamente na definição da classe, eliminando a necessidade de fazer isso no construtor.
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
O suporte para campos de classe particulares está em desenvolvimento.
Confira mais detalhes no artigo de Mathias sobre campos de classe.
API User Activation
Lembra quando os sites podiam tocar sons automaticamente assim que a página carregava? Você se apressa para pressionar a tecla de silenciar ou descobre qual guia era e a fecha. É por isso que algumas APIs exigem ativação por meio de um gesto do usuário antes de funcionar. Infelizmente, os navegadores processam a ativação de maneiras diferentes.
O Chrome 72 apresenta a Ativação do usuário v2, que simplifica a ativação do usuário para todas as APIs restritas. Ele é baseado em uma nova especificação (em inglês) que busca padronizar o funcionamento da ativação em todos os navegadores.
Há uma nova propriedade userActivation
em navigator
e MessageEvent
,
que tem duas propriedades: hasBeenActive
e isActive
:
hasBeenActive
indica se a janela associada já viu uma ativação do usuário no ciclo de vida.isActive
indica se a janela associada tem uma ativação do usuário no momento.
Mais detalhes estão em Como tornar a ativação do usuário consistente em todas as APIs.
Como localizar listas de itens com Intl.format
Adoro as APIs Intl
. Elas são muito úteis para localizar conteúdo em
outros idiomas. No Chrome 72, há um novo método .format()
que facilita
a renderização de listas. Como outras APIs Intl
, ela transfere a carga para o
motor JavaScript, sem sacrificar a performance.
Inicie com a localidade desejada e chame format
. Ele vai usar as
palavras e a sintaxe corretas. Ela pode fazer conjunções, o que adiciona o equivalente localizado de and, e veja essas belas vírgulas oxford. Ela pode fazer disjunções, adicionando o equivalente local de or e, ao fornecer algumas opções adicionais, é possível fazer ainda mais.
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'
Confira a postagem API Intl.ListFormat para mais detalhes.
E muito mais.
Estas são apenas algumas das mudanças no Chrome 72 para desenvolvedores. Há muitas outras.
- O Chrome 72 muda o comportamento de
Cache.addAll()
para corresponder melhor à especificação. Anteriormente, se houvesse entradas duplicadas na mesma chamada, as solicitações posteriores simplesmente substituiriam a primeira. Para corresponder à especificação, se houver entradas duplicadas, ocorrerá uma rejeição com umInvalidStateError
. - As solicitações de favicons agora são processadas pelo service worker, desde que o URL da solicitação esteja na mesma origem que o service worker.
Inscrever-se
Se quiser ficar por dentro dos nossos vídeos, inscreva-se no canal do YouTube para desenvolvedores do Chrome e receba uma notificação por e-mail sempre que lançarmos um novo vídeo.
Meu nome é Pete LePage, e assim que o Chrome 73 for lançado, vou estar aqui para contar as novidades do Chrome.