【发布时间】:2015-05-11 14:26:08
【问题描述】:
我正在尝试使用 Function.prototype 手段探索使用 ES6 类而不是我们目前的做法。目前我们的 API 如下所示:
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对象。
标签: javascript ecmascript-6 ecmascript-harmony