Не срабатывает метод, добавленный в прототип конструктора на ванильном JavaScript

Изучаю функции-конструкторы и не понимаю, почему не работает метод, если его добавить в прототип родительского конструктора. При этом, находясь внутри самого конструктора (закомментированные строки), метод работает как надо. Вот код:

    'strict mode';

export default function inheritage() {

  function Vehicle(model, speed, weight, year, movement) {
    this.model = model || "не определена",
      this.speed = speed || "не определена",
      this.weight = weight || "не определён",
      this.year = year || "не определён",
      this.movement = movement || "не определён.",
      this.isActive = "снят с производства"
    // this.getInfo = function () {
    //   alert(`Модель: ${this.model}.\nСкорость (км/ч): ${this.speed}.\nВес (кг): ${this.weight}.\nГод выпуска: ${this.year}.\nСпособ передвижения: ${this.movement}\nСтатус: ${this.isActive}.`);
    // }
  }

  Vehicle.prototype.getInfo = function () {
    alert(`Модель: ${this.model}.\nСкорость (км/ч): ${this.speed}.\nВес (кг): ${this.weight}.\nГод выпуска: ${this.year}.\nСпособ передвижения: ${this.movement}\nСтатус: ${this.isActive}.`);
  }

  function Car(model, speed, weight, year) {
    Vehicle.apply(this, arguments);
    this.movement = 'ездил по асфальту';
  }

  let racingCar = new Car('McLaren MP4/7A', 380, 505, 1992);

  console.log(racingCar);
  racingCar.getInfo();
  debugger;
};

Ответы (1 шт):

Автор решения: Igor

function Vehicle(model, speed, weight, year, movement) {
  this.model = model || "не определена",
    this.speed = speed || "не определена",
    this.weight = weight || "не определён",
    this.year = year || "не определён",
    this.movement = movement || "не определён.",
    this.isActive = "снят с производства"
}

Vehicle.prototype.getInfo = function() {
  alert(`Модель: ${this.model}.\nСкорость (км/ч): ${this.speed}.\nВес (кг): ${this.weight}.\nГод выпуска: ${this.year}.\nСпособ передвижения: ${this.movement}\nСтатус: ${this.isActive}.`);
}

function Car(model, speed, weight, year) {
  Vehicle.apply(this, arguments);
  this.movement = 'ездил по асфальту';
}
Car.prototype = Object.create(Vehicle.prototype);

let racingCar = new Car('McLaren MP4/7A', 380, 505, 1992);
console.log(racingCar);
racingCar.getInfo();

→ Ссылка