ES6用反射创建新实例

时间:2016-01-14 11:07:51

标签: javascript reflection ecmascript-6

我有一个用例,我需要在cookie中保留给定类的名称,以便稍后在客户端返回时创建它的实例。我希望能够做到这样的事情:

class MyClass {
}

var a1 = new MyClass()
var className = a.class.name()//like in Java..
var a2 = Class.forName(className).newInstance();

ES6可以吗?具体来说,我正在寻找一些方法来将类的名称作为字符串,

1 个答案:

答案 0 :(得分:1)

您应该可以通过致电a1.constructor.name 1

来获取课程名称

由于类对于函数来说是非常精美的语法,如果窗口对象上存在类,那么您可能会执行类似var a2 = new window[className]();的操作,但这实际上取决于您正在使用的范围。