如何从名称中获取javascript类

如何从名称中获取javascript类,javascript,class,Javascript,Class,我的问题是关于ECMAScript 2015 javascript类的 创建新类时: class MyRandomClass { constructor() {...} } 我想访问刚从其名称定义的类构造函数,就像使用函数一样: var myClass = window['MyRandomClass']; 但它不起作用,因为类构造函数不存储在全局窗口对象中 有人知道我如何从它的名字中得到构造函数吗 我不想将正则函数用作类 使用window.MyRandomClass=MyRandomCl

我的问题是关于ECMAScript 2015 javascript类的

创建新类时:

class MyRandomClass {
  constructor() {...}
}
我想访问刚从其名称定义的类构造函数,就像使用函数一样:

var myClass = window['MyRandomClass'];
但它不起作用,因为类构造函数不存储在全局窗口对象中

有人知道我如何从它的名字中得到构造函数吗

我不想将正则函数用作类

使用
window.MyRandomClass=MyRandomClass
也不适合我的需要


非常感谢。

请注意,
MyRandomClass
等同于它的构造函数,即它们是相同的东西。在Javascript中,类是一个函数,而类语法只是一种语法糖

类MyRandomClass{
构造函数(){
}
}
this.MyRandomClass=MyRandomClass;
log(这个['MyRandomClass']);
log(这个['MyRandomClass'].prototype.constructor);

log(这个['MyRandomClass'].prototype.constructor==这个['MyRandomClass'])为什么需要通过窗口访问它?另外,如果一个类不能被使用,为什么不把它变成一个构造函数呢,因为所有的类都是…你可以看看反射,它是一个很酷的特性,可以在多种语言中使用。类是仅用于具有函数值的变量的语法糖,函数值只是对象,所以您实际上只是询问变量访问。@deceze您的标记是完全错误的。这不是重复的,并保证它是自己的答案。@Nicolas在这种情况下,
如何反映
帮助?这如何解决通过字符串变量访问它的问题?值得注意的是,您也可以从一个实例中获得它:
foo.constructor.name
@deceze,如果他可以访问指向他可以访问的类的变量构造器。他已经编写了var myClass=window['MyRandomClass'],因此是一个解决方案。我从他的问题中了解到,他无法访问构造函数,因为它不是一个全局对象,但我的回答表明,只要他能够访问类,他就可以访问构造函数。坦率地说,我认为你误解了这个问题,挂断了“构造函数”关键字。在我看来我不是。OP的观点是
window['MyRandomClass']
不起作用。