В Chrome 72 мы добавили поддержку:
- Создание полей общедоступного класса в JavaScript теперь стало намного проще.
- Вы можете увидеть, была ли страница активирована с помощью нового API активации пользователя.
- Локализация списков становится проще благодаря API
Intl.format()
.
И есть еще много всего !
Я Пит ЛеПейдж . Давайте углубимся и посмотрим, что нового для разработчиков в Chrome 72!
Журнал изменений
Здесь рассматриваются только некоторые ключевые моменты. Дополнительные изменения в Chrome 72 можно найти по ссылкам ниже.
- Список изменений репозитория исходного кода Chromium
- Обновления ChromeStatus.com для 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 требуют активации с помощью жеста пользователя, прежде чем они начнут работать. К сожалению, браузеры обрабатывают активацию по-разному.
В 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!