我希望有一个基类和一个继承类。基类应该提供一些一般功能,这取决于继承类的属性。
=>How可以访问基类中继承类的属性吗?
下面是一些例子来说明这个问题(我的问题不是如何在JavaScript中定义枚举。这个例子只是为了说明。)
示例基类:
export default class Enum {
constructor(name){
this.name = name;
}
}
Enum.values = function(){
return Object.values(INHERITING_CLASS);
};
Enum.forName = function(name){
for(var enumValue of INHERITING_CLASS.values){
if(enumValue.name === name){
return enumValue;
}
}
throw new Error('Unknown value "' + name + '"');
} 示例继承类:
import Enum from './enum.js';
export default class ColumnType extends Enum {
constructor(name, clazz){
super(name);
this.associatedClass = clazz;
}
}
ColumnType.Integer = new ColumnType('Integer', Number);
ColumnType.Double = new ColumnType('Double', Number);
ColumnType.String = new ColumnType('String', String);我希望能够访问ColumnType的静态值
ColumnType.values()其中values函数由基类Enum提供。一些用于方法forName。
如果我对占位符INHERITING_CLASS使用"Enum“,结果是不正确的。
=>,我如何知道在Enum类的定义范围内,ColumnType是当前继承的类?
编辑
以下是一个相关的问题:
Get parent class name from child with ES6?
他们的答案使用instance.constructor。但是,在我的静态方法中,我没有实例。
发布于 2019-03-13 12:20:16
我想你要找的是原型,除非我误解了这个问题
ColumnType.prototype.values()
https://stackoverflow.com/questions/55141718
复制相似问题