在 Chrome 72 中,我們新增了以下支援功能:
- 在 JavaScript 中建立公開類別欄位現在變得更加簡潔。
- 您可以使用新的 User Activation API,查看網頁是否已啟用
- 使用
Intl.format()
API 就能輕鬆將清單本地化。
還有更多!
我是 Pete LePage,讓我們深入瞭解 Chrome 72 版為開發人員提供的新功能!
變更記錄檔
這篇文章只涵蓋部分重點,請參閱下方連結,瞭解 Chrome 72 的其他變更。
公開類別欄位
我第一個學習的語言是 Java,因此在學習 JavaScript 時,我有點不知所措。如何建立課程?或繼承?那麼公開和私人屬性和方法呢?許多近期的 JavaScript 更新,都讓以物件為導向的程式設計變得更加簡單。
我現在可以建立類別,讓這些類別按照預期運作,並包含建構函式、getter 和 setter、靜態方法和公開屬性。
多虧 V8 7.2 與 Chrome 72 一同推出,您現在可以在類別定義中直接宣告公開類別欄位,而不需要在建構函式中執行這項操作。
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
我們正在開發私人類別欄位的支援功能!
詳情請參閱 Mathias 的文章,瞭解類別欄位的相關資訊。
User Activation API
還記得網站在頁面載入後會自動播放音效嗎?你急忙按下靜音鍵,或找出該分頁並關閉。因此,部分 API 必須透過使用者手勢啟用,才能運作。很抱歉,瀏覽器處理啟用方式不同。

Chrome 72 推出了使用者啟用功能 v2,可簡化所有受控 API 的使用者啟用程序。這項功能是根據新的規格所設計,旨在將所有瀏覽器的啟用方式標準化。
navigator
和 MessageEvent
都有一個新的 userActivation
屬性,其中包含兩個屬性:hasBeenActive
和 isActive
:
hasBeenActive
會指出關聯視窗在生命週期中是否曾經歷使用者啟用。isActive
會指出關聯視窗目前在其生命週期中是否有使用者啟用。
詳情請參閱「在各 API 中確保使用者啟用作業一致」
使用 Intl.format
將事物清單本地化
我很喜歡 Intl
API,因為它們非常適合將內容翻譯成其他語言!Chrome 72 推出了新的 .format()
方法,可簡化清單的算繪作業。與其他 Intl
API 一樣,這項 API 會將負擔轉移至 JavaScript 引擎,而不犧牲效能。
請使用所需語言代碼初始化,然後呼叫 format
,系統就會使用正確的字詞和語法。它可以執行連接詞,也就是新增 and 的本地化等價詞 (並查看這些漂亮的牛津逗號)。它可以執行不相容的動作,也就是新增 or 的本地等價字詞。如果提供其他選項,您還可以做更多事情。
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'
詳情請參閱 Intl.ListFormat API 文章!
還有更多獎品等著您!
這些只是 Chrome 72 針對開發人員所做的部分異動,當然還有更多變更。
- Chrome 72 會變更
Cache.addAll()
的行為,以便更符合規格。先前,如果同一個呼叫中出現重複項目,後續要求會直接覆寫第一個項目。為了符合規格,如果有重複的項目,系統會傳回InvalidStateError
來拒絕。 - 只要要求網址與服務工作者位於相同來源,服務工作者現在就會處理 favicon 要求。
訂閱
如要隨時掌握最新影片,請訂閱 Chrome 開發人員 YouTube 頻道,這樣一來,我們發布新影片時,你就會收到電子郵件通知。
我是 Pete LePage,Chrome 73 一推出,我就會馬上在這裡告訴你 Chrome 有哪些新功能!