Javascript ES6类继承不继承
我正在学习ES6视频教程,并重新创建用例以更好地理解语法 我的话题是类继承。我创建了一个由员工扩展的超级类Person,我还有一个扩展员工的类Intern。我在Person类中有一个名为“doWork”的函数,它返回“paid”,在Intern类中,我试图通过让它返回“free”来覆盖“doWork” 我指定康纳为新员工,贝思为新实习生。问题是在我调用doWork后,我只在console.log中看到“Intern Free”,它来自beth.doWork。connor.doWork不应该返回“Employee Paid”,因为Employee正在扩展类PersonJavascript ES6类继承不继承,javascript,class,inheritance,Javascript,Class,Inheritance,我正在学习ES6视频教程,并重新创建用例以更好地理解语法 我的话题是类继承。我创建了一个由员工扩展的超级类Person,我还有一个扩展员工的类Intern。我在Person类中有一个名为“doWork”的函数,它返回“paid”,在Intern类中,我试图通过让它返回“free”来覆盖“doWork” 我指定康纳为新员工,贝思为新实习生。问题是在我调用doWork后,我只在console.log中看到“Intern Free”,它来自beth.doWork。connor.doWork不应该返回“
class Person {
constructor(name) {
this.name = name;
}
get name() {
return this._name;
}
set name(newValue) {
if(newValue) {
this._name = newValue;
}
}
doWork() {
return 'Paid Employee';
}
}
class Employee extends Person {
constructor(title, name) {
super(name);
this._title = title;
}
get title() {
return this._title;
}
}
class Intern extends Employee {
doWork() {
return 'Intern Free'
}
}
let makeEveryoneWork = function(...people) {
var results = [];
for(var i = 0; i < people.length; i++) {
results.push(people[i].doWork());
}
return results
}
let connor = new Employee("Doctor", "Connor");
let beth = new Intern("Student", "Beth");
connor.doWork(); //expecting to be 'Employee Paid'
beth.doWork(); // exprecting to be 'Intern Free'
班主任{
构造器名称{
this.name=名称;
}
得名{
返回此。\u名称;
}
设置namenewValue{
ifnewValue{
这个。_name=newValue;
}
}
嫁妆{
返回“受薪员工”;
}
}
类雇员扩展个人{
构造器名称{
超名;
这个._title=标题;
}
获得头衔{
返回此标题;
}
}
班级实习生扩展员工{
嫁妆{
返回“免费实习生”
}
}
让每个人都工作=功能…人{
var结果=[];
forvar i=0;i