<script>
class Father {
constructor(x, y) {
this.x = x;
this.y = y;
}
sum() {
this.x + this.y;
}
}
class Son extends Father {
test() {
console.log(super.sum() + 123);
}
}
var son = new Son(1, 2);
son.test();
</script>
Son继承了Father,在test()方法中使用super调用了sum(),Father中的sum()方法没有写return 控制台输出的是Nan
class Father {
constructor(x, y) {
this.x = x;
this.y = y;
}
sum() {
return this.x + this.y;
}
}
class Son extends Father {
test() {
console.log(super.sum() + 123);
}
}
var son = new Son(1, 2);
son.test();
这里面sum()方法加了return 就正常了控制台输出126
如图
请问一下这是为什么呢?为什么要加return呢?