Я изучаю наследование javascript на пару дней, и хотя я сделал довольно много прогресса, есть некоторые вещи, которые я пока не совсем понимаю.__proto__ и наследование в Javascript
Например, я нахожу это поведение довольно запутанным:
var Employee = function Employee() { this.company = 'xyz'; };
var Manager = function Manager() { this.wage = 'high'; };
var m = new Manager();
m; // { "wage": "high", __proto__ : Manager } -- no problems so far.
Manager.prototype = new Employee();
var n = new Manager;
m.company; // undefined
n.company; // "xyz"
m
's __proto__
свойство указывает на объект, который не является Manager
' s тока прототип. Это немного противоречит здравому смыслу, учитывая, что:
Объект наследует свойства, даже если они будут добавлены в его прототип после создания объекта.
Взятые из JavaScript: The Definitive Guide, 5th Edition, By David Flanagan
Не может ли это поведение быть применено к вышеупомянутому делу, тоже?
Может ли кто-нибудь уточнить?