Немного запутался и хотел узнать правильно ли мыслю
К примеру мы создали конструктор, который будет делать птиц и привязали к нему прототипы с функциями (fly и т. п), где каждый объект созданный через этот конструктор будет летать и всё что делают обычные птицы.
Теперь нам нужен другой конструктор, который будет создавать уток, но утки должны уметь делать всё то что умеют обычные птицы.
Мы создаём конструктор Duck(который создаёт уток) и к прототипу Duck присваиваем пустой объект, который создан через конструктор, который создаёт птиц, тем самым в прототипе Duck будет храниться пустой объект с прототипами обычной птицы.
Т. е. все объекты, созданные через Duck будут иметь доступ к прототипам Обычной птицы
Например
1)function Bird(){..}
Bird.prototype.fly=function(){...}
2)function Duck(){...}
Duck.prototype=new Bird(); и именно здесь конструктор Duck получает все прототипы конструктора Bird
Всё ли верно?
>наследование прототипа от другого прототипа В JavaScript нет наследования. Действие, аналогичное наследованию, называется "протипированием". Да, все примерно так. Лучше думать об этом так: когда ты пишешь a.b JavaScript ищет свойство b в a, если не находит - в a.prototype, если не находит - в a.prototype.prototype, и так, пока очередной prototype не будет undefined.