【发布时间】:2016-02-09 21:37:40
【问题描述】:
我一直在尝试 ES6 类,想知道是否可以动态更改类名?例如
class [Some dynamic name] {};
【问题讨论】:
-
你为什么想要一个类的动态名称?有什么意义?
-
这说明了一切。 instance 应该是动态的,而不是您的类模板,但如果您确信这是正确的方法,您可以创建一个标准函数 using the
Functionconstructor 并像在 ES5 中一样使用原型。或者使用像 Gulp/Grunt 这样运行的任务来生成预构建类 -
如果使用 ES5 类,则使用
let tmp = { [name](){} };并访问该命名函数o[name]。如果我们可以通过类做到这一点会很酷:let o = { class [name] {} }. -
@CodingIntrigue 我来这里是为了寻找一些东西(阅读动态类创建),但是您的评论“使用像 Gulp/Grunt 这样运行的任务来生成类”让我朝着不同的方向前进,这解决了很多问题我没有想到的问题。谢谢......
-
确实如此。实例应该是动态的,而不是您的类模板。我非常不同意。来自高度静态的 Java,我很欣赏 JS 每天都更加动态。我想动态设置一个类名,这样我的类就不会是匿名的。我想动态创建类,因为我正在开发一个库来创建和使用 mixins 来实现 ES6 类的多重继承。我使用经典继承的时间越长,我就越相信单继承不会削减它。 JS 很棒 因为它是动态的,尽管如此。
标签: javascript class ecmascript-6