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 B
在super
中调用继承的方法this
。调用继承方法的首选方法是哪种?
答案 0 :(得分:1)
我会打电话给this.doSomething()
,让类或子类有机会先对其进行拦截。
但是,如果您在方法doSomething()
中,请调用super.doSomething()
或面临无限循环。