Прошел через Mozilla's Reference и наткнулся на это простое отношение.Javascript Inheritance call behavior
function Employee() {
this.name = "";
this.dept = "general";
}
function Manager() {
Employee.call(this);
this.reports = [];
}
Manager.prototype = Object.create(Employee.prototype);
Видимо, это создает отношения, связанные с наследованием от Работника к Менеджменту.
Два вопроса здесь, не уверен, что и почему Employee.call(this);
там и вместо присвоения объекта Employee.prototype
он присвоенные Manager.prototype
. Мои мысли заключались в том, что Менеджер наследует от Employee, а не наоборот. Возможно, это концепция прототипной цепи, где это действительно означает, что оба объекта могут захватывать свойства друг от друга?
Хотелось бы уточнить.
Менеджер наследует свойства класса Employee и также будет иметь свои собственные свойства/методы. Однако класс Employee не будет наследовать свойства Менеджера. –
"* вместо назначения объекта' Employee.prototype' * "- какой объект? – Bergi
@Bergi 'Employee.prototype = Object.create (Manager.prototype);' – Aaron