Новое в Chrome 72

В Chrome 72 мы добавили поддержку:

И есть еще много всего !

Я Пит ЛеПейдж . Давайте углубимся и посмотрим, что нового для разработчиков в Chrome 72!

Журнал изменений

Здесь рассматриваются только некоторые ключевые моменты. Дополнительные изменения в Chrome 72 можно найти по ссылкам ниже.

Поля общедоступного класса

Моим первым языком был Java, и изучение JavaScript поставило меня в тупик. Как я создал класс? Или наследство? А как насчет публичных и частных свойств и методов? Многие из последних обновлений JavaScript значительно упрощают объектно-ориентированное программирование.

Теперь я могу создавать классы , которые работают так, как я от них ожидаю, в комплекте с конструкторами, геттерами и сеттерами, статическими методами и открытыми свойствами.

Благодаря версии V8 7.2, которая поставляется с Chrome 72, теперь вы можете объявлять поля общедоступного класса непосредственно в определении класса, устраняя необходимость делать это в конструкторе.

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

Поддержка полей частных классов находится в разработке!

Более подробную информацию можно найти в статье Матиаса о полях классов .

API активации пользователя

Помните, когда сайты могли автоматически воспроизводить звук сразу после загрузки страницы? Вы пытаетесь нажать кнопку отключения звука или выяснить, какая это вкладка, и закрыть ее. Вот почему некоторые API требуют активации с помощью жеста пользователя, прежде чем они начнут работать. К сожалению, браузеры обрабатывают активацию по-разному.

API активации пользователя до и после взаимодействия пользователя со страницей.

В Chrome 72 представлена ​​User Activation v2, которая упрощает пользовательскую активацию для всех закрытых API. Он основан на новой спецификации , целью которой является стандартизация работы активации во всех браузерах.

В navigator и MessageEvent появилось новое свойство userActivation , которое имеет два свойства: hasBeenActive и isActive :

  • hasBeenActive указывает, видело ли связанное окно когда-либо пользовательскую активацию в течение своего жизненного цикла.
  • isActive указывает, имеет ли связанное окно в настоящее время пользовательскую активацию в своем жизненном цикле.

Более подробная информация приведена в разделе «Как обеспечить единообразие активации пользователей в разных API».

Локализация списков вещей с помощью Intl.format

Мне нравятся Intl API, они очень полезны для локализации контента на другие языки! В Chrome 72 появился новый метод .format() , который упрощает отрисовку списков. Как и другие Intl API, он перекладывает нагрузку на движок JavaScript без ущерба для производительности.

Инициализируйте его с нужным языковым стандартом, затем вызовите format , и он будет использовать правильные слова и синтаксис. Он может создавать союзы, что добавляет локализованный эквивалент и (и посмотрите на эти красивые оксфордские запятые). Он может выполнять дизъюнкции — добавлять локальный эквивалент или . А предоставляя некоторые дополнительные возможности, вы можете сделать еще больше.

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'

Для получения более подробной информации ознакомьтесь с публикацией об API Intl.ListFormat !

И более!

Это лишь некоторые изменения в Chrome 72 для разработчиков, конечно, их гораздо больше.

  • Chrome 72 меняет поведение Cache.addAll() , чтобы оно лучше соответствовало спецификации. Раньше, если в одном вызове были повторяющиеся записи, последующие запросы просто перезаписывали первые. Чтобы соответствовать спецификации, если есть повторяющиеся записи, он будет отклонен с InvalidStateError .
  • Запросы на значки теперь обрабатываются сервис-воркером, если URL-адрес запроса находится в том же источнике, что и сервис-воркер.

Подписаться

Хотите быть в курсе наших видео, подпишитесь на наш канал YouTube для разработчиков Chrome , и вы будете получать уведомления по электронной почте всякий раз, когда мы запускаем новое видео.

Меня зовут Пит ЛеПейдж, и как только выйдет Chrome 73, я буду здесь, чтобы рассказать вам, что нового в Chrome!