Скажем, у меня есть модуль универсального класса:
export class MyCalc {
data = {}
...
}
И, скажем, я хочу расширить функциональность:
export class MyCalcLoader {
load = some_data => {
this.data = some_data;
}
}
export class MyCalcUI {
print = () => {
document.write(JSON.stringify(this.data));
}
}
Как правильно расширить MyCalc
, а также использовать эти расширения / плагины?
import {MyCalc} from "./MyCalc.js";
import {MyCalcLoader} from "./MyCalcLoader.js";
import {MyCalcUI} from "./MyCalcUI.js";
// TODO: MakeMyCalcExtendLoaderAndUi();
class BankingCalc extends MyCalc {
config = {...}
constructor() {
super();
}
}
const banking_calc = new BankingCalc();
banking_calc.load({...});
banking_calc.print();
Я продумал несколько разных хитрых способов сделать это, но я уверен, что это достаточно распространено, и что есть правильный способ сделать это с ванильным ES6.