ES6 類別變數替代方案
在 ES5 中,類別通常使用包含類別變數的模式的框架來建立。然而,在 ES6 中,沒有內建的創建類別變數的機制。
為了解決這個問題,人們提出了各種方法,但沒有一個被證明完全令人滿意。例如,建立一個 ClassConfig 處理程序並傳遞一個單獨的參數對象,或使用 WealMaps,已經被考慮過,但有限制。
2018 年,引入了類別變數的第 3 階段提案。該提案允許在類別聲明/表達式中使用以下語法:
varName = value
此語法定義類別中的變數。然而,該提案仍在開發中,尚未最終確定。
根據 ES wiki,反對在 ES6 規範中包含類別變數的決定是有意的。類別定義的目的是聲明類別的功能,而不是其成員。類別定義中指定的屬性會被指派屬性,就像它們出現在物件文字中一樣。
因此,要定義類別變量,首選方法是使用建構函數:
constructor(){ this.foo = bar }
另一種方法ES7 的提案正在開發中,旨在透過類別聲明和表達式實現更簡潔的實例變數。此提案仍在討論中,尚未最終確定。
以上是ES6 及更高版本中如何實作類別變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!