Как получить в родительском классе переменную из дочернего класса? Я написал пример на js и пример на angular5. Теоретически они должны работать одинаково, но на практике они не работают одинаково. Помогите пожалуйста найти причину. Есть родительский класс и есть дочерний класс. Обычно бывает, что дочерний класс видит все переменные родительского класса. НО в этом примере на angular5 у меня получилось так, что родительский класс видит переменные дочернего. В примере это видно по выводу консоли. Я попытался воспроизвести ту же ситуацию на нативном javaScript, но получил ошибку(тоже видно в консоли). Это меня и беспокоит
Приведенный вами пример на Angular5 и на JavaScript по-разному обрабатывают доступ к переменным родительского и дочернего классов из-за различий в способе работы синтаксиса и наследования.
В Angular5 вы используете TypeScript, который строго типизированный и компилируется в JavaScript. Поэтому Angular5 позволяет обращаться к переменным дочернего класса из родительского класса, так как TypeScript позволяет использовать классы и наследование.
Однако в чистом JavaScript наследование работает иначе. Если вы пытаетесь получить переменную дочернего класса из родительского класса напрямую, это вызовет ошибку, так как в JavaScript нет прямого доступа к переменным дочернего класса из родительского.
Вам нужно использовать методы и геттеры в дочернем классе, чтобы получить доступ к нужным переменным из родительского класса. Например, вы можете создать метод в дочернем классе, который возвращает значение переменной, и затем вызывать этот метод из родительского класса.
Если вам нужно передать данные от дочернего класса к родительскому, рассмотрите использование событий или колбэков для взаимодействия между классами.
Надеюсь, это поможет вам понять причину различий в поведении примеров на Angular5 и JavaScript. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
Приведенный вами пример на Angular5 и на JavaScript по-разному обрабатывают доступ к переменным родительского и дочернего классов из-за различий в способе работы синтаксиса и наследования.
В Angular5 вы используете TypeScript, который строго типизированный и компилируется в JavaScript. Поэтому Angular5 позволяет обращаться к переменным дочернего класса из родительского класса, так как TypeScript позволяет использовать классы и наследование.
Однако в чистом JavaScript наследование работает иначе. Если вы пытаетесь получить переменную дочернего класса из родительского класса напрямую, это вызовет ошибку, так как в JavaScript нет прямого доступа к переменным дочернего класса из родительского.
Вам нужно использовать методы и геттеры в дочернем классе, чтобы получить доступ к нужным переменным из родительского класса. Например, вы можете создать метод в дочернем классе, который возвращает значение переменной, и затем вызывать этот метод из родительского класса.
Если вам нужно передать данные от дочернего класса к родительскому, рассмотрите использование событий или колбэков для взаимодействия между классами.
Надеюсь, это поможет вам понять причину различий в поведении примеров на Angular5 и JavaScript. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.