gpt4 book ai didi

Javascript 为什么在调用 super() 之后才在子类中定义 "this"

转载 作者:行者123 更新时间:2023-11-30 14:53:53 24 4
gpt4 key购买 nike

<分区>

我发现在调用 super() 之前关键字“this”是“undefined”,我想知道这种行为记录在哪里。我只是想知道我可以在哪里查找这些答案(将来)。

显示此行为的代码如下:

class BaseClass {
constructor(){
this.baseVar = 1;
}
}

class SubClass extends BaseClass {
constructor(...args){
try {
console.log('this BEFORE calling super. this:', this);
} catch(ex) {
console.log('this BEFORE calling super. this: caused exception!');
}
super(...args);
this.subVar = 2;
console.log('this AFTER calling super. this:', this);
}
}

var base = new BaseClass();
var subclass = new SubClass();

输出如下所示:

this BEFORE calling super. this: caused exception!
this AFTER calling super. this: SubClass { baseVar: 1, subVar: 2 }

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com