Novidades do Chrome 72

No Chrome 72, adicionamos suporte para:

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.

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.

API de ativação do usuário antes e depois da interação do usuário com a página.

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 um InvalidStateError.
  • 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.