我只是無法找到聲明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)開始,然後升級原型鏈直到找到其他類。他們不一定都在同一個地方,或者都是從同一個東西繼承而來。 –
*「我真正想要的是擴展我的一個類的所有類的列表」*這是不可能的。 –