我正在尝试创建一个可以处理基本 CRUD 功能的父类,但我不知道如何在静态方法中调用构造函数。
class Model {
static find(id) {
var attrs = someDBcalls();
var obj = new CurrentClass(attrs); // how?
return obj;
}
}
class User extends Model {
constructor(attrs){
// initialize class.
}
}
User.find(1); // shall return an User object.
最佳答案
您可以使用 var obj = new this(attrs);
如下所示:
function someDBcalls(id) {
return { id, success: true };
}
class Model {
static find(id) {
var attrs = someDBcalls(id);
var obj = new this(attrs);
return obj;
}
}
class User extends Model {
constructor(attrs) {
super();
// initialize class.
console.log(attrs);
}
}
var user = User.find(1); // shall return an User object.
console.log(user instanceof User);
关于javascript - 在javascript es6中,如何在不使用类名的情况下调用构造函数方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45110451/