¿Por qué necesita restablecer el constructor de javascript durante la herencia?

¿Por qué es importante que restablezca el constructor de Mammal a Cat? He estado jugando con este código y no he encontrado ningún efecto negativo de tener el constructor "incorrecto".

function Mammal(name){
    this.name=name;
    this.offspring=[];
}

Cat.prototype = new Mammal();        // Here's where the inheritance occurs
Cat.prototype.constructor=Cat;       // Otherwise instances of Cat would have a constructor of Mammal

function Cat(name){
    this.name=name;
}

por ejemplo:

function Mammal(name){
    this.name=name;
    this.offspring=[];
}

Cat.prototype = new Mammal();        // Here's where the inheritance occurs


function Cat(name){
    this.name=name;
    this.hasFur = true;
}

c1 = new Cat();
alert(c1.hasFur); //returns true;

Respuestas a la pregunta(1)

Su respuesta a la pregunta