我在Javascript中有两个类,如下所示:
class Parent {
constructor(){
console.log(typeof this);
}
}
class Child extends Parent {
constructor(){
super();
}
}
在Parent类中,我想知道实例化它的类。但是,typeof只返回对象。有没有其他方法可以解决这个问题?
答案 0 :(得分:1)
this.constructor
将返回创建objet的构造函数。如果您需要字符串,可以访问this.constructor.name
。
class Parent {
constructor(){
console.log(this.constructor.name);
}
}
class Child extends Parent {
constructor(){
super();
}
}
new Child(); // Child
new Parent(); // Parent
答案 1 :(得分:1)
由于您使用的是ES6课程,new.target
正是您所需要的。但请注意,它通常是反模式,让构造函数的行为依赖于特定的子类。