Я пытаюсь динамически создать дерево наследования классов и проверить его тип.
let myFunc = function ( Superclass = Object ) {
return class Clickable extends Superclass {
constructor( args ) {
super( args );
}
click() {}
};
};
console.log(myFunc);
console.log(myFunc());
let obj = new (class Q extends myFunc() {})();
console.log(obj);
console.log(obj instanceof myFunc());
instanceof возвращает false.
Я думаю, что по той же причине следующее возвращает false.
Но мне трудно понять, почему именно он возвращает ложь.
Во всяком случае, я бы ожидал, что он дважды скажет: «Идентификатор Y уже объявлен».
Есть ли обходной путь для этого?
(Очень грязное) решение состоит в том, чтобы проверить, определен ли Q методом "click".