Nowości w Chrome 72

W Chrome 72 dodaliśmy obsługę:

I wiele innych.

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

Historia zmian

To 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 wersji 8 7.2, która jest częścią Chrome 72, możesz teraz deklarować pola klas publicznych bezpośrednio w definicji klasy, eliminując potrzebę wykonywania tego działania 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 zajęć prywatnych.

Więcej informacji na ten temat znajdziesz w artykule Mathiasa o polach klasy.

User Activation API

Pamiętasz, że strony mogły automatycznie odtwarzać dźwięk zaraz po załadowaniu? Musisz szybko nacisnąć klawisz wyciszenia lub zorientować 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 aktywację użytkowników w wersji 2, która upraszcza aktywację użytkowników we wszystkich blokowanych interfejsach API. Jest ono oparte na nowej specyfikacji, której celem jest ujednolicenie sposobu aktywacji we wszystkich przeglądarkach.

W obiekcie navigator i MessageEvent pojawiła się nowa właściwość userActivation, która ma 2 usługi: hasBeenActive i isActive:

  • 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ść.

Inicjalizować go z wybranym ustawieniem języka, a potem wywołać funkcję format. Użyje ona prawidłowej składni i słów. Może używać spójników, które dodaje zlokalizowany odpowiednik i (i spójrz na te piękne przecinki oksfordzkie). Umożliwia rozróżnienie, dodając lokalny odpowiednik lub. Jeśli podasz kilka 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 poście na temat interfejsu Intl.ListFormat API.

I inne funkcje

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 deweloperó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.