模板文字与ES6类中的超级

时间:2016-12-27 03:46:19

标签: javascript ecmascript-6

我正在尝试在我的班级中使用模板文字中的super(),这里是超类代码:

class Person{
    constructor(name){
        this.name = name;
    }

    get name(){
        return this._name;
    }

    set name(newVal){
        this._name = newVal;
    }

    doWork(){
        return `${this.name} is coming from person` ;
    }
}

这是子类:

class Employee extends Person{
constructor(name, title){
    super(name);
    this.title = title;
}

get title(){
    return this._title;
}

set title(newVal){
    this._title = newVal;
}

doWork(){

    console.log(this.name);
    return  `${super()} ${this.name}`; //here is my issue
    }
  }

我试图在使用模板文字的同时在子类的Person类中引用doWork函数,但它不允许我,我在控制台中有这个:

'超'关键字意外在这里

任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:2)

您需要super.doWork(),而不是super()