> Какой метод вызывается при наследовании, если метод определён в прототипе родителя и в экземпляре дочернего класса в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: НордКлан
Стек: JavaScript
> Пример ответа
При наследовании в JavaScript, если метод определён как в прототипе родителя, так и в экземпляре дочернего класса, вызывается метод из экземпляра дочернего класса. Это происходит из-за механизма цепочки прототипов (prototype chain): при обращении к свойству или методу объекта JavaScript сначала ищет его в самом объекте (собственные свойства), и только если не находит - переходит к прототипу (родительскому классу). Таким образом, метод, определённый непосредственно в экземпляре, переопределяет (shadowing) метод из прототипа.
Пример:
JAVASCRIPTclass Parent {greet() {console.log('Привет от родителя');}}class Child extends Parent {constructor() {super();this.greet = function() {console.log('Привет от экземпляра');};}}const child = new Child();child.greet(); // "Привет от экземпляра"
> Похожие задачи по frontend
Как проверять разные наборы полей одного класса при десериализации JSON в тестах
В чем разница между статическими и нестатическими методами в классах JavaScript
Почему для обработки промисов используют конструкции вместо console.log напрямую
Как сборщик мусора находит неиспользуемые объекты в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью