当我执行以下操作时...
namespace Core.Error {
export class ArgumentError extends Error {}
}
我收到错误:
类型“typeof Error”不是构造函数 type.ts(2507)
这是因为找不到Error。
如果我这样做:
namespace Core.Blah {
export class ArgumentError extends Error {}
}
然后就可以找到
Error
。
我怎样才能使我的命名空间以单词 Error 结尾,同时扩展 Error 类中的烘焙?
我尝试过像这样
Error
和其他一些事情一样逃避\Error
,但似乎没有任何效果。
我想使用命名空间而不是导入。
Error
构造函数是一个全局变量,您应该能够在全局对象上访问它,该对象应该作为globalThis
(或window
或global
,具体取决于您的环境) ):
namespace Core.Error {
export class ArgumentError extends globalThis.Error { // okay
}
}
或者你可以给它一个你没有阴影过的名字并抓住它:
const MyError = Error;
namespace Core.Error {
export class ArgumentError extends MyError {
}
}
当然,对您需要访问的内容进行shadow可能不是一个好主意。