ES6 使用反射创建新实例

ES6 creating new instance with reflection

本文关键字:实例 新实例 创建 反射 ES6      更新时间:2023-09-26

我有一个用例,我需要将给定类的名称保留在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]();的操作,但这实际上取决于您正在处理的范围。