In Chrome 72 abbiamo aggiunto il supporto per:
- Ora la creazione di campi delle classi pubblici in JavaScript è molto più pulita.
- Puoi vedere se una pagina è stata attivata con la nuova API User Activation
- Localizzare gli elenchi è molto più semplice con l'API
Intl.format()
.
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.
- Elenco delle modifiche al repository di origine di Chromium
- Aggiornamenti di ChromeStatus.com per Chrome 72
- Ritiri e rimozioni di 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à? 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.
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 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.