是否可以从 base class [node JS] 中的静态方法实例化子 class?
Is it possible to instantiate child class from a static method in base class [node JS]?
我想从基 class
中的静态方法创建子实例 class
class Base {
static find(id) {
const attributes = database.get(id);
return new getChildClass(attributes);
}
}
class FirstChild extends Base {
}
class SecondChild extends Base {
}
我想要 FirstChild.find(1)
到 return FirstChild
的实例和
SecondChild.find(1)
到 return SecondChild
的实例
是否可以在 Node JS 中实现?
当从 child class 调用 find
时,find
中的 this
将引用 child class , 所以你可以 return new this
from find
:
class Base {
static find(id) {
const attributes = 'foo'; // database.get(id);
return new this(attributes);
}
}
class FirstChild extends Base {
}
class SecondChild extends Base {
}
console.log(FirstChild.find(1) instanceof FirstChild);
console.log(SecondChild.find(1) instanceof SecondChild);
我想从基 class
中的静态方法创建子实例 classclass Base {
static find(id) {
const attributes = database.get(id);
return new getChildClass(attributes);
}
}
class FirstChild extends Base {
}
class SecondChild extends Base {
}
我想要 FirstChild.find(1)
到 return FirstChild
的实例和
SecondChild.find(1)
到 return SecondChild
是否可以在 Node JS 中实现?
当从 child class 调用 find
时,find
中的 this
将引用 child class , 所以你可以 return new this
from find
:
class Base {
static find(id) {
const attributes = 'foo'; // database.get(id);
return new this(attributes);
}
}
class FirstChild extends Base {
}
class SecondChild extends Base {
}
console.log(FirstChild.find(1) instanceof FirstChild);
console.log(SecondChild.find(1) instanceof SecondChild);