在父构造函数中获取javascript类名或typeof

时间:2016-09-29 18:30:38

标签: javascript

我在Javascript中有两个类,如下所示:

class Parent {
    constructor(){
        console.log(typeof this);
    }
}

class Child extends Parent {
    constructor(){
        super();
    }
}

在Parent类中,我想知道实例化它的类。但是,typeof只返回对象。有没有其他方法可以解决这个问题?

2 个答案:

答案 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正是您所需要的。但请注意,它通常是反模式,让构造函数的行为依赖于特定的子类。