Не могу до конца понять структуру того, как должен действовать ООП код, чтобы получать доступ к родительским свойствам конструктора. При этом не ясно, где создавать и вызывать объекты.
Допустим у меня есть два класса, это `app` - мой главный класс, `map` - класс с картой, который дочерний класса `app`
Я имею следующий код класса `app`
class App {
constructor() {
this.app = document.querySelector('#city');
}
init() {
}
}
const app = new App();
app.init();
export default function () {
return App;
}
Отсюда я экспортирую весь класс целиком, чтобы получить доступ к его конструктору в другом файле. Код представлен ниже
import App from '../index.js'; //забираю мой класс
class Map extends App {
constructor() {
super();
console.log(this.app); //здесь почему то приходит undefined??
}
// ... my metods
}
Вопрос в том почему `undefined`? И второй вопрос, где нужно создавать объект от класса `map`. То есть мне нужно эскпортировать класс и в родительском потом создавать объект, и обращаться к методам? или как-то по-другому? При этом нужно учесть что у класса `map` будут тоже подклассы.
Я буду очень благодарен, если кто-то скинет пример. Или хотя бы ссылочку на грамотно организованный код, чтобы посмотреть.