调用超类方法的更好方法

时间:2018-08-07 23:19:49

标签: javascript

class A {
  constructor(value) {
    this.value = value;
  }

  doSomething() {
    //after some calculations...
    return this.value;
  }

  printResult() {
    console.log(this.doSomething());
  }
}

class B extends A {
  printResult() {
    console.log(super.doSomething() * 2); //prints 50
    //or
    console.log(this.doSomething() * 2); //prints 50
  }
}

let b = new B(25);
b.printResult();

我可以使用doSomething()class Bsuper中调用继承的方法this。调用继承方法的首选方法是哪种?

1 个答案:

答案 0 :(得分:1)

我会打电话给this.doSomething(),让类或子类有机会先对其进行拦截。

但是,如果您在方法doSomething()中,请调用super.doSomething()或面临无限循环。