【问题标题】:ES6 creating new instance with reflection [duplicate]ES6用反射创建新实例[重复]
【发布时间】:2016-01-14 11:07:50
【问题描述】:

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

class MyClass {
}

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

这在 ES6 中可行吗?具体来说,我正在寻找某种方法将类的名称作为字符串获取,

【问题讨论】:

    标签: javascript reflection ecmascript-6


    【解决方案1】:

    你应该可以通过调用a1.constructor.name1获取类名

    由于类是函数的真正花哨语法,如果类存在于窗口对象上,您可能可以执行类似var a2 = new window[className](); 的操作,但这实际上取决于您的工作范围。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多