Novità di Chrome 72

In Chrome 72 abbiamo aggiunto il supporto per:

E ce n'è molto altro.

Sono Pete LePage. Andiamo a scoprire le novità per gli sviluppatori in Chrome 72.

Log delle modifiche

Questa pagina illustra solo alcuni dei punti salienti. Per altre modifiche in Chrome 72, consulta i link di seguito.

Campi della classe pubblica

La mia prima lingua è stata Java e l'apprendimento di JavaScript mi ha un po' disorientato. Come faccio a creare un corso? O l'ereditarietà? Cosa sono le proprietà e i metodi pubblici e privati? Molti degli aggiornamenti recenti di JavaScript che semplificano molto la programmazione orientata agli oggetti.

Ora posso creare classi che funzionano come mi aspetto, complete di costruttori, getter e setter, metodi statici e proprietà pubbliche.

Grazie a V8 7.2, in dotazione con Chrome 72, ora puoi dichiarare i campi della classe pubblica direttamente nella definizione della classe, eliminando la necessità di farlo nel costruttore.

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

Il supporto dei campi dei corsi privati è in fase di sviluppo.

Per ulteriori informazioni, consulta l'articolo di Mathias sui campi di classe.

API User Activation

Ricordi quando i siti potevano riprodurre automaticamente l'audio non appena la pagina veniva caricata? Cerchi di premere il tasto di disattivazione dell'audio o di capire quale scheda era e di chiuderla. Ecco perché alcune API richiedono l'attivazione tramite un gesto dell'utente prima di funzionare. Purtroppo, i browser gestiscono l'attivazione in diversi modi.

API di attivazione utente prima e dopo che l'utente ha interagito con la pagina.

Chrome 72 introduce la versione 2 dell'attivazione utente, che semplifica l'attivazione utente per tutte le API con limitazioni. Si basa su una nuova specifica che mira a standardizzare il funzionamento dell'attivazione su tutti i browser.

Esiste una nuova proprietà userActivation sia in navigator che in MessageEvent, con due proprietà: hasBeenActive e isActive:

  • hasBeenActive indica se la finestra associata ha mai registrato un'attivazione dell'utente nel suo ciclo di vita.
  • isActive indica se attualmente nel ciclo di vita della finestra associata è presente un'attivazione da parte dell'utente.

Per maggiori dettagli, vedi Rendere l'attivazione degli utenti coerente in tutte le API

Localizzazione di elenchi di cose con Intl.format

Adoro le API Intl, sono molto utili per localizzare i contenuti in altre lingue. In Chrome 72 è disponibile un nuovo metodo .format() che semplifica il rendering degli elenchi. Come altre API Intl, trasferisce il carico al motore JavaScript, senza sacrificare le prestazioni.

Inizializzalo con le impostazioni internazionali che vuoi, quindi chiama format e userà le parole e la sintassi corrette. Può eseguire le congiunzioni, aggiungendo l'equivalente localizzato di and (e osserva le splendide virgole Oxford). Può eseguire disgiunzioni, aggiungendo l'equivalente locale di o. Fornendo alcune opzioni aggiuntive, puoi fare ancora di più.

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'

Per ulteriori dettagli, consulta il post sull'API Intl.ListFormat.

E tanto altro.

Queste sono solo alcune delle modifiche in Chrome 72 per gli sviluppatori, ma ce ne sono molte altre.

  • Chrome 72 modifica il comportamento di Cache.addAll() per adattarlo meglio alle specifiche. In precedenza, se erano presenti voci duplicate nella stessa chiamata, le richieste successive sovrascrivevano semplicemente la prima. In modo che corrispondano alla specifica, se sono presenti voci duplicate, verrà rifiutata con un InvalidStateError.
  • Le richieste di favicon ora vengono gestite dal service worker, a condizione che l'URL della richiesta si trovi nella stessa origine del service worker.

Iscriviti

Se vuoi rimanere al passo con i nostri video, iscriviti al nostro canale YouTube per sviluppatori di Chrome e riceverai una notifica via email ogni volta che lanceremo un nuovo video.

Sono Pete LePage e, non appena verrà rilasciato Chrome 73, sarò qui per raccontarti le novità di Chrome.