No Chrome 72, adicionamos suporte para:
- A criação de campos de classe pública em JavaScript agora é muito mais limpa.
- Você pode ver 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 conferir as novidades para os desenvolvedores no Chrome 72.
Registro de alterações
Isso abrange apenas alguns dos principais destaques. Confira os links abaixo para ver outras mudanças no Chrome 72.
- Lista de alterações do repositório de origem do Chromium
- Atualizações do ChromeStatus.com para o Chrome 72
- Descontinuações e remoções do Chrome 72
Campos de classe pública
Minha primeira linguagem foi Java, e aprender JavaScript progrediu um pouco. Como criei uma turma? Ou herança? E as propriedades e os métodos públicos e privados? Várias atualizações recentes no JavaScript que facilitam muito a programação orientada a objetos.
Agora, posso criar classes que funcionam como esperado, com construtores, getters e setters, métodos estáticos e propriedades públicas.
Graças ao V8 7.2, que acompanha o Chrome 72, agora você pode declarar campos de classe públicas diretamente na definição de 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 a campos de classe particulares está sendo desenvolvido.
Para mais detalhes, consulte o artigo de Mathias sobre campos de classe (link em inglês).
API User Activation
Lembra quando os sites podiam tocar sons automaticamente assim que a página fosse carregada? Você tenta apertar a tecla de desativar microfone ou descobrir qual era a guia e a fecha. É por isso que algumas APIs exigem ativação por um gesto do usuário antes de funcionarem. Infelizmente, os navegadores lidam com a ativação de maneiras diferentes.
O Chrome 72 introduz a ativação do usuário v2, que simplifica a ativação para todas as APIs restritas. Ele é baseado em uma nova especificação que visa padronizar a forma como a ativação funciona 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á teve uma ativação do usuário no ciclo de vida.isActive
indica se a janela associada tem uma ativação do usuário em seu ciclo de vida.
Para mais detalhes, consulte Como tornar a ativação do usuário consistente em todas as APIs.
Localizar listas de itens usando o Intl.format
Eu adoro as APIs Intl
, elas são muito úteis para localizar conteúdo para
outros idiomas. No Chrome 72, há um novo método .format()
que facilita
a renderização de listas. Assim como outras APIs Intl
, ela transfere a carga para o
mecanismo JavaScript, sem sacrificar o desempenho.
Inicialize com a localidade que você quer e, em seguida, chame format
. Ela usará as
palavras e a sintaxe corretas. Ela pode fazer conjunções, o que adiciona o equivalente
localizado de and (e confira essas belas vírgulas de Oxford). Ela pode fazer disjunções: adicionar o equivalente local de or. Além disso, fornecendo algumas outras opções, você pode 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 sobre a API Intl.ListFormat para mais detalhes.
E muito mais.
Essas são apenas algumas das mudanças no Chrome 72 para desenvolvedores. É claro, há muito mais.
- O Chrome 72 muda o comportamento de
Cache.addAll()
para corresponder melhor à especificação. Antes, se houvesse entradas duplicadas na mesma chamada, as solicitações posteriores simplesmente substituiriam a primeira. Para corresponder à especificação, se houver entradas duplicadas, ela será rejeitada 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
Para ficar por dentro dos nossos vídeos, inscreva-se no canal de desenvolvedores do Chrome no YouTube. Você vai receber uma notificação por e-mail sempre que lançarmos um novo vídeo.
Eu sou Pete LePage e, assim que o Chrome 73 for lançado, estarei aqui para contar as novidades do Chrome.