ES6 類別變數:缺失及其替代方案
在ES6 中,原生類別提供了一種更清晰的方式來定義基於對象的結構。然而,它們存在一個顯著的限制:缺乏類別層級變數。 ES5 等框架中允許方便地聲明類別變數的傳統模式在 ES6 中不再適用。
雖然可以使用類別建構方法 (constructor()) 來分配實例變量,但它變得不切實際對於具有大量參數的類別。這項挑戰激發了解決此問題的各種方法:
1。 ClassConfig 處理程序和外部聲明:
一項建議涉及建立一個接受參數物件的單獨的 ClassConfig 處理程序。然後該物件將附加到該類別。可以整合 WeakMaps 以在類別和參數物件之間建立連接。
2. ES7 之前的提案:
對於使用TypeScript 或Babel 的用戶,可以使用以下語法:
這在類別聲明/表達在式主體中定義了一個變數。
3。建構子賦值:
前面提到,可以在建構子中將變數賦值:
4. ES7 及以後:
ES7 的一項新提案旨在透過類別聲明和表達式引入更簡潔的實例變數聲明。該提案目前正在完善中。
結論:
雖然 ES6 缺乏真正的類變量,但有幾種替代方案可以滿足這一需求。每種方法都有其自身的優點和缺點,最佳選擇將取決於應用程式的特定要求。
以上是如何在 ES6 中實作類別級變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!