Я просто не могу узнать, где хранятся ссылки на объявленные классы ES6, я бы ожидал их в окне Object, бит там не отображается.Магазин 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, и воссоздать цепочку прототипов, пока не найдете другие классы. Возможно, они не все находятся в одном месте или все наследуют от одних и тех же вещей. –
* «То, что я точно хочу, это список всех классов, которые расширяют мой класс» * Это невозможно. –