Сообщение от Aves
|
Если опустить тонкости, то можно сказать, что у объектов нет прототипов, у них есть конструкторы.
|
Вы путаете прототип объекта и созвучное свойство prototype конструктора. У объекта есть прототип, хотя в стандарте (по крайней мере в старом) нет к нему прямого доступа. То, что кажется свойством constructor объекта, на самом деле свойство прототипа, которое может быть, а
может и не быть выставлено правильно. Оно почти никогда не нужно, поэтому о нем часто забывают.
function Test() {}
Test.prototype = { a:1, b:2,
constructor:Test }
Без выделенной части свойство constructor созданного объекта будет указывать не на Test а на Object, тем не менее прототипом созданного объекта будет Test.prototype