this
в ответе и написал можно ли создать глобальный массив, к которому можно обращаться из модулей и изменять егоМожно, но не нужно. Грязно и дешево: обращаться к глобальному объекту. Например globalThis:
// модуль А
globalThis.data = [];
// модуль B
globalThis.data.push({ prop: value});
Чем плохо: а что если сначала выполнится модуль B, и только потом модуль A? Ну и вообще это оч. плохая практика. Мало ли, кто ещё захочет вжух! и стереть globalThis.data
? Calendar.onChange = (date) => Blocks.display(date);
class A {
say() { console.log('Aaa!'); }
}
const obj = {};
obj.say = (new A()).say; // костылинг
obj.say(); // Aaa!
this
.import Filter from './common/filter';
import Calendar from './common/calendar';
class Page extends Blocks {
someMethod() {
let y = Filter.onlyNumbers(x);
Calendar.display();
}
}
множественное наследование
const s = new Sounds();
s.__proto__ // класс Sounds
s.__proto__.__proto__ // Object
s.say()
– он ищется в самом экземпляре (нет), выше на 1 уровень (в классе Sounds) – нашёлся!s.toString()
– он ищется в самом экземпляре (нет), выше на 1 уровень (в классе Sounds) – (нет), ещё на 1 уровень выше в Object – есть!
console.log()
, экспериментировать.