Javascript es6从静态函数访问类构造函数

Javascript es6从静态函数访问类构造函数,javascript,node.js,ecmascript-6,es6-class,Javascript,Node.js,Ecmascript 6,Es6 Class,我试图创建一个生成新实例的静态函数。该实例属于静态函数所属的类 这里有一个例子 class A { static getInstance() { return new A(); } } 到目前为止还不错let a=a.getInstance()可以正常工作 我想在子类中继承此功能 class B extends A {} let b = B.getInstance(); // This will return an instance of A. 我希望B.getInstanc

我试图创建一个生成新实例的静态函数。该实例属于静态函数所属的类

这里有一个例子

class A {
  static getInstance() {
    return new A();
  }
}
到目前为止还不错
let a=a.getInstance()可以正常工作

我想在子类中继承此功能

class B extends A {}
let b = B.getInstance(); // This will return an instance of A.

我希望
B.getInstance()
返回B的实例。

这似乎可行。。我假设您希望这样做,因为您希望将类作为某种构造函数/生成器传递。正如做
newa()
显然要简单一点

A类{
sayIt(){console.log('I am A');}
静态getInstance(){
返回新的这个;
}
}
类B扩展了一个{sayIt(){console.log('I am B')}
var k=A.getInstance();
k、 sayIt();
设b=b.getInstance();
b、 sayIt();
设k2=newa();
k2.sayIt();
设b2=新的B();

b2.sayIt()
static getInstance(){返回新的this;}
感谢Keith的关注。它确实有效。为了构建您的答案,如果您也将sayIt()更改为static,您可以用
I am${this.name}
替换'I am B',它将打印它所属的类:),这正好解决了我的问题。再次感谢。