Известно, что для наследования необходимо установить прототип:
function Animal() {}
function Cat() {}
Cat.prototype = new Animal();
Так вот вопрос, почему нельзя сделать так:
function Animal() {}
function Cat() {}
Cat.prototype = Animal.prototype; // смотреть на эту строчку
Если, можно укажите ссылки на раздел в спецификации, почему так. У меня только догадка, с установкой скрытого поля [[Prototype]]