In Chrome 72 abbiamo aggiunto il supporto per:
- La creazione di campi di classe pubblici in JavaScript ora è molto più chiara.
- Puoi vedere se una pagina è stata attivata con la nuova API User Activation
- La localizzazione degli elenchi diventa molto più semplice con l'API
Intl.format()
.
E c'è 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.
- Elenco delle modifiche al repository di origine di Chromium
- Aggiornamenti di ChromeStatus.com per Chrome 72
- Ritiro e rimozione di funzionalità in Chrome 72
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à? Che dire di proprietà e 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 poter funzionare. Purtroppo, i browser gestiscono l'attivazione in modi diversi.

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 la finestra associata ha attualmente un'attivazione dell'utente nel suo ciclo di vita.
Per ulteriori dettagli, consulta Rendere coerente l'attivazione degli utenti tra 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 preferisci, quindi chiama format
e verranno utilizzate le parole e la sintassi corrette. Può usare le congiunzioni, che aggiungono l'equivalente localizzato di e (e guarda queste bellissime 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. Per soddisfare le specifiche, se sono presenti voci duplicate, il valore verrà rifiutato con unInvalidStateError
. - 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.