【发布时间】:2012-10-06 14:16:49
【问题描述】:
我想将主机对象Error 扩展为自定义UploadError 类。以下示例在我编译时失败:
class UploadError extends Error {
constructor(message: string, private code: number) {
super(message);
}
getCode(): number {
return this.code;
}
}
当我运行 TypeScript 编译器 tsc 时,我收到以下错误:
UploadError.ts(1,0): A export class may only extend other classes, Error is an interface.
似乎Error 被定义为一个接口。如果有人知道实现的名称是什么,那会让我很高兴:-)
更新:我想使用 Typescripts 继承,而不是像我目前用来解决这个问题的原型继承:
function UploadError (message: string, code: number) {
this.message = message;
this.code = code;
}
UploadError.prototype = new Error();
UploadError.prototype.constructor = UploadError;
UploadError.prototype.getCode = (): number => {
return this.code;
}
【问题讨论】: