【发布时间】:2018-08-09 02:15:49
【问题描述】:
我处于一个奇怪的情况,我需要使用存储在变量中的字符串来实例化一个新类,但即使我确定类名是正确的,我也会收到一个错误,即给定的类名不是构造函数
这是一个无效的伪代码:
class Foo {
constructor(){
console.log('Foo!');
}
};
const foo = 'Foo';
const bar = new window[foo]();
console.log(bar);
这会引发这个错误:
Uncaught TypeError: window[foo] is not a constructor
【问题讨论】:
-
window.Foo = class { ...而不是class Foo { ... -
您可能需要使用
eval()。
标签: javascript es6-class