Новое в программировании ... Я пытаюсь узнать о наследовании объектов в JavaScript.__proto__ в скрипте приложений Google?
Я получаю сообщение об ошибке для следующего кода. Он говорит:
TypeError: Cannot find function getName in object [object Object]
ли __proto__
(так называемый "Dunder прото") не работает в App Script? Как я могу установить наследование для чего-то другого, кроме стандартного «Объекта» без него?
function onPlay(){
//create an employee constructor
function Emp(last, first){
this.first = first;
this.last = last;
this.getName = function() {return(this.first+this.last);}
}
//create an employee
var emp1 = new Emp("Halpert", "Jim");
//log the employee's name
Logger.log(emp1.getName());
//create a manager constructor
function Mgr(){
this.salary = 100,000;
}
//managers are also employees
Mgr.__proto__ = Emp.prototype;
//create a manager
var mgr1 = new Mgr("Scott", "Michael");
//log the manager's name
Logger.log(mgr1.getName());
}
Никогда не используйте '__proto__', это устарело! Кстати, вы хотели изменить цепочку прототипов 'Mgr.prototype' не конструктора' Mgr'. – Bergi