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

在父构造函数中获取javascript类名或typeof,javascript,Javascript,我有两个Javascript类,如下所示: class Parent { constructor(){ console.log(typeof this); } } class Child extends Parent { constructor(){ super(); } } 在父类中,我想知道是哪个类实例化了它。然而,typeof只返回对象。还有别的办法解决这个问题吗 此构造函数将返回用于创建objet的构造函数。如果需要字符

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

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

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

在父类中,我想知道是哪个类实例化了它。然而,typeof只返回对象。还有别的办法解决这个问题吗

此构造函数将返回用于创建objet的构造函数。如果需要字符串,可以访问
this.constructor.name

类父类{
构造函数(){
console.log(this.constructor.name);
}
}
类子级扩展父级{
构造函数(){
超级();
}
}
新建子项();//小孩

新父项();//父级
此构造函数将返回用于创建对象的构造函数。如果需要字符串,可以访问
this.constructor.name

类父类{
构造函数(){
console.log(this.constructor.name);
}
}
类子级扩展父级{
构造函数(){
超级();
}
}
新建子项();//小孩

新父项();//因为您使用的是ES6类,所以您需要的是父类。但是请注意,让构造函数的行为依赖于特定的子类通常是一种反模式。

因为您使用的是ES6类,所以这就是您要寻找的。但是请注意,让构造函数的行为依赖于特定的子类通常是一种反模式。

您到底需要它做什么?这听起来像是一个。我打算让父类处理save和get之类的方法,除非指定了其他任何内容,否则它将在调用类的名为小写的表中查找。因此,如果我实例化一个子对象并运行child.save(),我会让Parent.save方法将对象保存到一个名为“child”的表中,我建议将表名作为参数显式传递给父构造函数。依赖子构造函数名称有几个问题:它可能在ES6之前的环境中不起作用,它破坏了LSP,并且可能存在匿名子类或重复的名称。您到底需要它做什么?这听起来像是一个。我打算让父类处理save和get之类的方法,除非指定了其他任何内容,否则它将在调用类的名为小写的表中查找。因此,如果我实例化一个子对象并运行child.save(),我会让Parent.save方法将对象保存到一个名为“child”的表中,我建议将表名作为参数显式传递给父构造函数。依赖子构造函数名称有几个问题:它可能在ES6之前的环境中不起作用,它破坏了LSP,并且可能存在匿名子类或重复的名称。