Javascript 如何在流中定义类变量,以便它扩展另一种类型? /@flow 课堂演示{ 错误:错误 构造函数(){ this.SomeError=类扩展了错误{ 构造函数(消息:string){ 超级(讯息) this.name='SomeError' } } } }
我一直在尝试做类似的事情。但是流给出了一个错误:Javascript 如何在流中定义类变量,以便它扩展另一种类型? /@flow 课堂演示{ 错误:错误 构造函数(){ this.SomeError=类扩展了错误{ 构造函数(消息:string){ 超级(讯息) this.name='SomeError' } } } },javascript,flowtype,Javascript,Flowtype,我一直在尝试做类似的事情。但是流给出了一个错误:无法将'class{…}'分配给'this.SomeError',因为类'[1]与'error'不兼容。。对于我来说,将类变量写为以下内容是一个暂时的、丑陋的解决方案: /。。。 ErrorClass:对象 // ... 我不明白为什么它接受对象作为类型,但不接受错误。这个问题有解决方案吗?这是因为:Error表示类Error的实例,而不是类本身/构造函数。要获取构造函数类型,可以使用typeof运算符: class Demo { Som
无法将'class{…}'分配给'this.SomeError',因为类'[1]与'error'不兼容。
。对于我来说,将类变量写为以下内容是一个暂时的、丑陋的解决方案:
/。。。
ErrorClass:对象
// ...
我不明白为什么它接受对象作为类型,但不接受错误。这个问题有解决方案吗?这是因为
:Error
表示类Error
的实例,而不是类本身/构造函数。要获取构造函数类型,可以使用typeof
运算符:
class Demo {
SomeError: typeof Error
constructor() {
this.SomeError = class extends Error {
constructor(message: string) {
super(message)
this.name = 'SomeError'
}
}
}
}
另一种选择是使用实用程序 给定表示类
C
实例的类型T
,类型class
就是类C
类演示{
一些错误:类
构造函数(){
this.SomeError=类扩展了错误{
构造函数(消息:string){
超级(讯息)
this.name='SomeError'
}
}
}
}
这是因为
:Error
表示类Error
的实例,而不是类本身/构造函数。要获取构造函数类型,可以使用typeof
运算符:
class Demo {
SomeError: typeof Error
constructor() {
this.SomeError = class extends Error {
constructor(message: string) {
super(message)
this.name = 'SomeError'
}
}
}
}
另一种选择是使用实用程序 给定表示类
C
实例的类型T
,类型class
就是类C
类演示{
一些错误:类
构造函数(){
this.SomeError=类扩展了错误{
构造函数(消息:string){
超级(讯息)
this.name='SomeError'
}
}
}
}
你太棒了。谢谢另外,添加
Class
是new():T
的别名。你真了不起。谢谢另外,添加Class
是new():T
的别名。