title: Why set prototype's constructor to its constructor function?
body: <p>Regarding a line of this script:</p>
  
  <pre><code>function Vehicle(hasEngine, hasWheels) {
      this.hasEngine = hasEngine || false;
      this.hasWheels = hasWheels || false;
  }
  
  function Car (make, model, hp) {
      this.hp = hp;
      this.make = make;
      this.model = model;
  }
  
  Car.prototype = new Vehicle(true, true);
  Car.prototype.constructor = Car; 
  Car.prototype.displaySpecs = function () {
      console.log(this.make + ", " + this.model + ", " + this.hp + ", " + this.hasEngine + ", " + this.hasWheels);
  }
  
  var myAudi = new Car ("Audi", "A4", 150);
  myAudi.displaySpecs(); // logs: Audi, A4, 150, true, true
  </code></pre>
  
  <p>My question is: what does</p>
  
  <pre><code>Car.prototype.constructor = Car;  
  </code></pre>
  
  <p>do? More importantly, what are the consequences of not doing this, and in which circumstances is it MOST useful?</p>