Javascript: прототип функции перезаписи - плохая практика?
Поскольку, когда мы объявляем функцию, мы получаем, что свойство конструктора ее прототипа указывает на саму функцию, не рекомендуется ли перезаписывать прототип функции следующим образом:
function LolCat() {
}
// at this point LolCat.prototype.constructor === LolCat
LolCat.prototype = {
hello: function () {
alert('meow!');
}
// other method declarations go here as well
};
// But now LolCat.prototype.constructor no longer points to LolCat function itself
var cat = new LolCat();
cat.hello(); // alerts 'meow!', as expected
cat instanceof LolCat // returns true, as expected
Это не то, как я это делаю, я все же предпочитаю следующий подход
LolCat.prototype.hello = function () { ... }
но я часто вижу, как другие люди делают это.
Так есть ли какие-либо последствия или недостатки при удалении ссылки на конструктор из прототипа путем перезаписи объекта-прототипа функции для удобства, как в первом примере?