在 Javascript 中对父级从子级继承运行静态方法



我有以下代码:

class Base { 
constructor() {
console.log(this.table)
}
static getAll() { 
console.log("select * from " + this.table);
}
}
class User extends Base { 
static table = 'user'
}
class Room extends Base { 
static table = 'room'
}
let user = new User()
let room = new Room()
User.getAll()
Room.getAll()

输出:

undefined
undefined
select * from user
select * from room

方法getAll工作并返回"从用户中选择*" 但是,无法访问相同的字段,至少我无法访问构造函数。

如何访问此静态字段? 谢谢

不能使用父类中的子道具。如果您希望在所有子类中使用某个 prop,请将其添加到父类中。否则,您的类层次结构具有错误的体系结构。基类不应该知道任何关于子类的信息。

最新更新