Nowości w Chrome 72

W Chrome 72 dodaliśmy obsługę:

A to nie wszystko – to dopiero początek.

Mam na imię Pete LePage. Zobacz, co nowego w Chrome 72 dla deweloperów.

Historia zmian

Ta lista zawiera tylko niektóre z najważniejszych zmian. Aby poznać więcej szczegółów, kliknij linki poniżej.

Pola klasy publicznej

Moim pierwszym językiem programowania była Java, a nauczenie się JavaScriptu było dla mnie sporym wyzwaniem. Jak utworzyć zajęcia? A może dziedziczenie? A właściwości i metody publiczne i prywatne? Wiele ostatnich aktualizacji JavaScript, które znacznie ułatwiają programowanie obiektowe.

Teraz mogę tworzyć klasy, które działają tak, jak tego oczekuję, z konstruktorami, metodami getter i setter, metodami statycznymi oraz publicznymi właściwościami.

Dzięki V8 7.2, która jest dostarczana z Chrome 72, możesz teraz deklarować publiczne pola klasy bezpośrednio w definicji klasy, co eliminuje konieczność deklarowania ich w konstruktorze.

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

Pracujemy nad obsługą pól prywatnych zajęć.

Więcej informacji znajdziesz w artykule Mathiasa na temat pól klasy.

User Activation API

Pamiętasz, że strony mogły automatycznie odtwarzać dźwięk zaraz po załadowaniu? Musisz szybko nacisnąć przycisk wyciszenia lub dowiedzieć się, która karta była aktywna, i ją zamknąć. Dlatego niektóre interfejsy API wymagają aktywacji przez użytkownika, zanim zaczną działać. Niestety przeglądarki obsługują aktywację na różne sposoby.

API aktywacji użytkownika przed i po interakcji użytkownika ze stroną.

Chrome 72 wprowadza wersję 2 aktywacji użytkownika, która upraszcza aktywację użytkownika w przypadku wszystkich interfejsów API z ograniczeniami. Jest ono oparte na nowej specyfikacji, której celem jest ujednolicenie sposobu aktywacji we wszystkich przeglądarkach.

Właściwość userActivation jest nowa zarówno w przypadku navigator, jak i MessageEvent. Ma ona 2 właściwości: hasBeenActiveisActive:

  • hasBeenActive wskazuje, czy powiązane okno było kiedykolwiek aktywowane przez użytkownika.
  • isActive wskazuje, czy powiązane okno ma obecnie aktywację użytkownika w swoim cyklu życia.

Więcej informacji znajdziesz w artykule Ujednolicenie aktywacji użytkowników w różnych interfejsach API.

Lokalizacja listy rzeczy z Intl.format

Uwielbiam interfejsy API Intl, są bardzo pomocne w lokalizowaniu treści na inne języki. W Chrome 72 pojawiła się nowa metoda .format(), która ułatwia renderowanie list. Podobnie jak inne interfejsy API Intl przenosi ono obciążenie na silnik JavaScript, nie wpływając na wydajność.

Inicjuj go z wybranym językiem, a potem wywołaj funkcję format. Użyje ona prawidłowej składni i słów. Może łączyć wyrazy, dodając odpowiednik składni i w odpowiedniej formie (patrz też piękne przecinki oxfordzkie). Może ona wykonywać dysjunkcje – dodawać lokalny odpowiednik operatora lub. A dzięki podawaniu dodatkowych opcji możesz zrobić jeszcze więcej.

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'

Więcej informacji znajdziesz w artykule Intl.ListFormat API.

I wiele więcej!

To tylko kilka z wielu zmian w Chrome 72 dla deweloperów.

Subskrybuj

Jeśli chcesz być na bieżąco z naszych filmów, zasubskrybuj nasz kanał w YouTube dla programistów Chrome. Otrzymasz wtedy e-maila z powiadomieniem, gdy tylko opublikujemy nowy film.

Nazywam się Pete LePage i zaraz po wydaniu Chrome 73 opowiem Ci, co nowego w tej wersji przeglądarki.