danik.js,
да читал я материал, читал! Там написано следующее:
Цитата:
|
При создании объекта через new, в его прототип __proto__ записывается ссылка из prototype функции-конструктора.
|
и
Цитата:
|
Если один объект, например, rabbit, имеет специальную ссылку __proto__ на другой объект animal, то все свойства, которые ищутся в rabbit, будут затем искаться в animal.
|
Это понятно.
Свойства ищутся в прототипе объекта.
Правильно ли я понимаю, что
только при использовании new в дочерний объект подтягиваются ВСЕ свойства объекта-прототипа?
Base = function(){};
Parent = function(){};
Parent.prototype = new Base();
var o = new Parent();
Base.func_as_prop = function(){};
Base.prototype.func_in_proto = function(){};
console.log(o.func_as_prop); // undefined - в объекте o нет свойства, т.к. оно не было подтянуто конструктором
console.log(o.func_in_proto); // function
console.log(Base.func_as_prop); // function
console.log(Base.func_in_proto); // почему undefined? почему не ищет в своем прототипе?