ES6 使用反射创建新实例
ES6 creating new instance with reflection
我有一个用例,我需要将给定类的名称保留在cookie中,以便稍后在客户端返回时可以创建它的实例。我希望能够做这样的事情:
class MyClass {
}
var a1 = new MyClass()
var className = a.class.name()//like in Java..
var a2 = Class.forName(className).newInstance();
这在 ES6 中可能吗?具体来说,我正在寻找某种方法来将类的名称作为字符串,
您应该能够通过调用 a1.constructor.name
1 来获取类的名称
由于类确实是函数的花哨语法,如果类存在于窗口对象上,那么您可能会执行类似var a2 = new window[className]();
的操作,但这实际上取决于您正在处理的范围。
相关文章:
- 显示模块模式在Knockout中设置模型的新实例
- 如何基于数组值创建新实例
- VS2010 javascript调试器希望在VS2010的新实例中启动
- Web服务器意外退出,正在重新启动新实例
- JavaScript - 有没有办法动态创建对象的新实例
- CKEditor新实例始终处于卸载状态
- JavaScript中Var类型的新实例
- jQueryFileTree如何清除实例、重新实例化新实例或刷新
- 使用模块模式时,如何创建对象的新实例
- requirejs 模块的许多新实例
- 作用域变量正在创建引用而不是新实例
- 猫鼬数据不会保存模型的新实例
- 如何将当前日期动态添加到对象的新实例并将其推送到数组
- 如何通过请求动画帧从其新实例中移动形状
- Javascript 重新加载以加载新实例,而不是重新加载页面
- 无法在 javascript 中创建新实例
- 创建 JavaScript 自定义应用程序的新实例
- 从javascript中的未知对象创建新实例
- Array.prototype.fill() 带有对象传递引用而不是新实例
- 函数是否无法返回构造函数并创建新实例