我正在嘗試使用Function.prototype方法來探索使用ES6類,而不是當前如何執行它。目前,我們的API看起來像:從函數創建ES6類
var myclass = createClass('MyClass', {
test : function() {}
});
我們遍歷對象,並將這些,我們返回特性到功能,基本上不是這樣做的,它的更多的在線與各種其他編程語言更漂亮的方式:
function MyClass() {}
MyClass.prototype.test = function() {};
我們還將該類緩存到一個對象上,其中名稱是鍵,該函數是在整個應用程序中使用的值。類名稱可以是名稱空間,因此您可以擁有My.Cls
,它將按期間分割,然後將其緩存到管理器中,但也可以通過window.My.Cls
檢索。
縱觀ES6課程,我沒有看到如何保持createClass
功能。會喜歡這樣的東西:
function createClass(name, config) {
return class name config;
}
我沒想到它的工作,它沒有。
兩個問題我在這裏:
- 如何創建使用變量作爲類名稱的類?
- 如何創建一個類並通過配置對象參數分配屬性?
不確定這是可能的。我們不打算保留createClass
,我們希望現在保留並升級我們的傳統「課程」。我想開始使用ES6課程,但不會中斷整個應用程序,無論它需要多長時間才能完成升級。
查看'Reflect'對象。 – Bergi