Novedades de Chrome 72

En Chrome 72, agregamos compatibilidad con lo siguiente:

Además, hay mucho más.

Soy Pete LePage. Veamos las novedades para desarrolladores de Chrome 72.

Registro de cambios

Esto solo abarca algunos de los aspectos destacados. Consulta los vínculos que aparecen a continuación para ver cambios adicionales en Chrome 72.

Campos de clase pública

Mi primer lenguaje fue Java, y aprender JavaScript me causó un pequeño bucle. ¿Cómo creé una clase? ¿O herencia? ¿Qué pasa con las propiedades y los métodos públicos y privados? Muchas de las actualizaciones recientes de JavaScript que facilitan mucho la programación orientada a objetos

Ahora puedo crear clases que funcionan como esperaba, con constructores, métodos get y set, métodos estáticos y propiedades públicas.

Gracias a la versión 8 7.2, que se incluye con Chrome 72, ahora puedes declarar campos de clase pública directamente en la definición de la clase, lo que elimina la necesidad de hacerlo en el constructor.

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

Se está trabajando en la compatibilidad con los campos de clases privadas.

Puedes encontrar más información en el artículo de Mathias sobre los campos de clase.

API de activación de usuarios

¿Recuerdas cuando los sitios podían reproducir sonido automáticamente apenas se carga la página? Te esfuerzas por presionar la tecla de silencio, o averiguas qué pestaña era, y la cierras. Es por ello que algunas APIs requieren activación mediante un gesto del usuario antes de poder funcionar. Lamentablemente, los navegadores manejan la activación de diferentes maneras.

API de activación del usuario antes y después de que el usuario haya interactuado con la página.

Chrome 72 incorpora User Activation v2, que simplifica la activación del usuario para todas las APIs restringidas. Se basa en una nueva especificación que tiene como objetivo estandarizar el funcionamiento de la activación en todos los navegadores.

Hay una nueva propiedad userActivation en navigator y MessageEvent que tiene dos propiedades: hasBeenActive y isActive:

  • hasBeenActive indica si la ventana asociada vio alguna vez la activación de un usuario en su ciclo de vida.
  • isActive indica si la ventana asociada tiene actualmente una activación del usuario en su ciclo de vida.

Obtén más detalles en Haz que la activación del usuario sea coherente en todas las APIs.

Localización de listas de elementos con Intl.format

Me encantan las APIs de Intl, ya que son muy útiles para localizar contenido a otros idiomas. En Chrome 72, existe un nuevo método .format() que facilita el procesamiento de listas. Al igual que otras APIs de Intl, traslada la carga al motor de JavaScript, sin sacrificar el rendimiento.

Inicialízalo con la configuración regional que quieras. Luego, llama a format. Este usará las palabras y la sintaxis correctas. Puede hacer conjunciones, lo que agrega el equivalente localizado de y (y observa esas hermosas comas de Oxford). Puede realizar disyunciones, ya que agrega el equivalente local de o. Además, si proporcionas algunas opciones adicionales, puedes hacer aún más.

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'

Consulta la publicación sobre la API de Intl.ListFormat para obtener más detalles.

Y mucho más.

Estos son solo algunos de los cambios en Chrome 72 para desarrolladores; por supuesto, hay mucho más.

  • Chrome 72 cambia el comportamiento de Cache.addAll() para que coincida mejor con la especificación. Antes, si había entradas duplicadas en la misma llamada, las solicitudes posteriores solo reemplazaban la primera. Para que coincida con la especificación, si hay entradas duplicadas, se rechazará con un InvalidStateError.
  • El service worker controla las solicitudes de íconos de página, siempre que la URL de la solicitud esté en el mismo origen que el service worker.

Suscribirse

Si quieres mantenerte al día con nuestros videos, suscríbete a nuestro canal de YouTube para desarrolladores de Chrome. Recibirás una notificación por correo electrónico cada vez que lancemos un video nuevo.

Soy Pete LePage, y apenas se lance Chrome 73, estaré aquí para contarte las novedades de Chrome.