我只是无法找到声明ES6类的引用存储在哪里,我希望他们在窗口对象,他们不会出现在那里。ES6类商店
我不认为它是ES6 classes : what about instrospection?的重复,因为他要求存在一个类的存在检查,我想要的是一个可用类的列表。
例如:
class Test {
constructor() {
}
}
window.Test // undefined
我想的是,扩展类矿井的所有类的列表
澄清,我有一个看起来像这样的结构:
class Base {
constructor(components) {
for(let component of components) {
window[component](); // window.Test2 not defined
}
}
start() {
new this();
}
}
class Test2 extends Base {
constructor() {
super();
}
}
class Test extends Base {
constructor() {
super(['Test2','Test2']);
}
}
Test.start();
这只是我的结构的抽象,总之我不得不使用字符串super(['Test2', 'Test2'])
目前我在做这样的事情
Base.register(Test2);
每一个类,我想摆脱这一点。
你不能只是“获取所有类的列表”。你将不得不做一些可怕的事情,比如创建一个全局对象来存储所有这些对象。 – ndugger
你可以尝试从一个已知的类(比如String)开始,然后升级原型链直到找到其他类。他们不一定都在同一个地方,或者都是从同一个东西继承而来。 –
*“我真正想要的是扩展我的一个类的所有类的列表”*这是不可能的。 –