Как легко выполнить смешивание или расширить динамическое наследование нескольких классов в js es6?
// Например, у меня есть 3 класса, но они должны быть расширены из контекста.
class Type1 { constructor() {} };
class Type2 { constructor() {} };
class Type3 { constructor() {} };
// и здесь у меня есть другое наследование классов, но мне не нужен контекст.
/** return dynamically a class*/
function dynamically_Extends(extendsType) {
switch (extendsType) {
case 'type1': return Type1 ;break;
case 'type2': return Type2 ;break;
case 'type3': return Type3 ;break;
default: console.error('class not exist') ;break;
};
};
class AA {
constructor(type) {
//not work: example of extend during constructor?
extends dynamically_Extends(type);
super()
};
};
class A extends AA{
constructor(type) {
super(type)
};
};
то, что я хочу, имеет что-то вроде этого при создании объектов
const obj1 = new A('type1'); // class heritance: A=>AA=>type1
const obj2 = new A('type2'); // class heritance: A=>AA=>type2
const obj3 = new A('type3'); // class heritance: A=>AA=>type3
, которое я хочу, расширяетA
2-й раз, но с динамическим контекстом в соответствии с условиями.Любые советы или простой способ сделать это во время конструктора или после?Я хочу сохранить код класса сахара для всего.