Javascript ES6类继承不继承

Javascript 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不应该返回“

我正在学习ES6视频教程,并重新创建用例以更好地理解语法

我的话题是类继承。我创建了一个由员工扩展的超级类Person,我还有一个扩展员工的类Intern。我在Person类中有一个名为“doWork”的函数,它返回“paid”,在Intern类中,我试图通过让它返回“free”来覆盖“doWork”

我指定康纳为新员工,贝思为新实习生。问题是在我调用doWork后,我只在console.log中看到“Intern Free”,它来自beth.doWork。connor.doWork不应该返回“Employee Paid”,因为Employee正在扩展类Person

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;iconsole.logbeth.doWork//expecting为“无实习生”,因为您实际上没有console.log方法调用的结果?当beth.doWork是您粘贴要求值的代码段中的最后一条语句时,您将在控制台上看到Intern Free。这与代码不完全相同。您更改了什么?我在console.log callsWow中包装了最后两行!我不敢相信我没有注意到。。。谢谢,这是漫长的一天