我的问题是关于ECMAScript 2015 javascript类。
当我创建一个新类时:
class MyRandomClass {
constructor() {...}
}
我希望从名称中访问我刚刚定义的类构造函数,就像我对函数一样:
var myClass = window['MyRandomClass'];
但它不起作用,因为类构造函数不存储在全局窗口对象中。
有谁知道如何从名称中获取构造函数?
我不想将常规功能用作课程。
使用window.MyRandomClass = MyRandomClass
也不符合我的需要。
非常感谢。
答案 0 :(得分:1)
请注意MyRandomClass
等同于它的构造函数,即它们是相同的。在Javascript中,类 IS 是一个函数,类语法只是语法糖。
class MyRandomClass {
constructor() {
}
}
this.MyRandomClass = MyRandomClass;
console.log(this['MyRandomClass']);
console.log(this['MyRandomClass'].prototype.constructor);
console.log(this['MyRandomClass'].prototype.constructor === this['MyRandomClass']);
因此访问该类与访问它的构造函数相同。因此,您可以在全局范围内使用this['MyRandomClass']
访问它。