Chrome 72 版新功能

在 Chrome 72 版中,我們新增了下列項目的支援:

還有許多功能

我是 Pete LePage。讓我們深入探索 瞭解 Chrome 72 為開發人員提供了哪些新功能!

變更記錄檔

以上內容僅涵蓋部分重點內容,請查看下方連結,瞭解 Chrome 72 版本的其他異動。

公開類別欄位

我的第一個語言是 Java,學習 JavaScript 讓我陷入了一小段迴圈。如何建立課程?還是沿用?公開和私人屬性和方法呢?JavaScript 近期的許多更新 都讓物件導向的程式設計更加容易

我現在可以建立「類別」,其運作方式與預期相同,可以使用建構函式、getter 和 setter、靜態方法和公開屬性完成。

透過 Chrome 72 隨附的 V8 7.2,您現在可以直接在類別定義中宣告公開類別欄位,而無需在建構函式中宣告。

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 的類別欄位文章。

使用者啟用 API

還記得網站何時可以自動播放音效? 你可以打亂按下靜音鍵,或是找出並關閉按鈕。 因此,部分 API 需要透過使用者手勢啟用,才能運作。很抱歉,瀏覽器會以不同的方式處理啟用作業。

使用者與網頁互動前後的使用者啟用 API。

Chrome 72 推出了使用者啟用 v2,可簡化所有受管制 API 的使用者啟動程序。其採用新的規格,目的是將所有瀏覽器的啟用作業標準化。

navigatorMessageEvent 都有新的 userActivation 屬性,其中包含兩個屬性:hasBeenActiveisActive

  • 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
  • 服務工作站現在會處理網站小圖示的要求,只要要求網址與服務工作站的來源相同即可。

訂閱

想要隨時掌握最新影片,並訂閱我們的 Chrome Developers YouTube 頻道,每當我們推出新影片時,您就會收到電子郵件通知。

我是 Pete LePage,當 Chrome 73 推出後,我會馬上說明 Chrome 的新功能!