【发布时间】:2022-01-06 05:29:07
【问题描述】:
我想知道是否有一种方法可以在 Javascript 类中引用“当前类”而不是按名称的类。
例如:
class MyBase{
static makeNew(id){
const newInstance = new --currentClass--;// magic happens here
newInstance.id = id;
return newInstance;
}
}
class A extends MyBase{}
class B extends MyBase{}
const newA = A.makeNew(1);
const newB = B.makeNew(379);
有没有办法让我编写MyBase::makeNew,这样当它从A 类调用时,它返回一个A 的新实例,但是当从B 类调用时,它返回B的新实例?
【问题讨论】:
-
你试图让你的类的构造函数成为一个虚函数,这在定义上是不可能的(即,根据 OOP 的原则)。
-
这些类都没有构造函数。对于我想做的事情,如果需要,它们可以各自定义自己的构造函数。
标签: javascript oop