介紹如何在 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 中使用它。