function User(name, date) {
this.name = name;
this.date = date;
}
User.prototype.getInfo = function () {
return 'Name: "' + this.name + '" Date: "' + this.date + '"';
};
function Admin(name, date, rootAdmin) {
User.call(this, name, date); // ну и тут можно на __proto__ заменить
this.isRootAdmin = function () {
return rootAdmin;
};
}
Admin.prototype = Object.create(User.prototype);
Admin.prototype.constructor = Admin;
Admin.prototype.getInfoAdmin = function () {
// если не переименовать getInfo будет Maximum callstack...
return this.getInfo.call(this) // потому что будет проверять в __proto__, до тех пор пока не __proto__ ))
// return this.__proto__.__proto__.getInfo.call(this) // это работает тоже
// __proto__ раз - Admin, __proto__ два - User
}
const admin = new Admin('n', 'd', true)
console.log(admin.getInfoAdmin())
вообще __proto__ кто-то пользует? просто я пришел в js на es2015... и как-то не особо заморачиваюсь с этим прото и конструктор... потому что webpack сделает как надо, наверное...