介紹如何在 JavaScript 中使用私有類別欄位的程式碼範例。

在引入私有類別欄位之前,我們無法真正強制將屬性設為私有。我們只能使用慣例,例如使用 _ 作為提示該欄位為私有的方式,就像這樣:

class Counter {
  _count = 0;

  increment() {
    this._count++;
  }
}

但我們仍然可以通過以下方式存取此計數器:

const counter = new Counter();
counter._count;

現在,我們可以使用私有類別欄位來強制將欄位設為私有:

class Counter {
  #count = 0;

  increment() {
    this.#count++;
  }
}

現在,我們無法從外部存取這個值。嘗試存取將引發語法錯誤。

這是新的類別欄位提案的一部分,你可以在 Chrome 72 和 Node 12 中使用它。