且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何从超类创建子类的实例?

更新时间:2023-12-02 21:43:22

调用静态方法,其 value是类对象,即您调用它的子类的构造函数.因此,您可以使用new进行实例化:

class Animal {
  static findOne() {
    return new this;
  }
}

class Human extends Animal{
}

class Dog extends Animal{
}

const human = Human.findOne() // returns a Human instance
const dog = Dog.findOne() // returns a Dog instance