以下是界面。
/**
* @interface
*/
class ISomething {
/**
* @return {number}
*/
static aMethod() {
throw new Error('not implemented');
}
/**
* @type {Object}
*/
static property;
}
以下是实现,如果不添加静态项,不会出现错误。
/**
* @implements {ISomething}
*/
class Implementation {
// forgot to implement the static items
// no errors in VSCode
}
我想要的是类似于接口的工作方式,但是对于可以相对于类而不是对象进行访问的静态项。如果我忘记实现静态方法,我想要一些错误。任何解决方法和技巧都值得赞赏。
JavaScript 不支持接口。更多信息请参见:JavaScript有接口类型(如Java的“接口”)吗?
您可以使用 TypeScript,它支持接口:https://www.typescriptlang.org/docs/handbook/interfaces.html