JS6,浏览器如何通过字符串名称创建类的实例?我也尝试为这些目的使用`window`。
如何通过字符串名称创建类的实例?例如,我有一个字符串Foo
,我需要创建一个Foo
类的实例。我不想写这样的结构:
let className = getClassName(); // returns 'Foo', `Stuff` or other
...
let item = null;
if(`Foo` == className){
item = new Foo();
}
else if(`Stuff` == className){
item = new Stuff();
}
UPD
我试着打通window
对象访问我的类的构造函数,但我有问题:它返回undefined
。但我的类存在和浏览器知道这一点:
它是浏览器的JavaScript,或nodejs? – Val
如果它在浏览器上下文中运行,试试'new window ['className']()'。 – Phylogenesis
这是浏览器javascript –