如何解决如何描述Class的返回值?
我需要在打字稿中明确描述函数的返回类型。碰巧返回值总是一个类。不幸的是,以下方法不起作用:
interface IFoo {
bar()
}
class Foo implements IFoo {
public bar() {}
}
function func(): IFoo {
return Foo
}
类型“typeof Foo”中缺少属性“bar”,但类型中需要 'IFoo'.ts(2741)
此外,这也会产生错误:
function func(): Foo {
return Foo
}
类型“typeof Foo”中缺少属性“bar”,但类型中需要 'Foo'.ts(2741)
是否可以给函数一些有意义的返回值描述?
解决方法
您需要返回类 Foo
的实例,它实现了 IFoo
。当您仅使用 return Foo
时,您返回的是类的定义,而不是类的实例。
interface IFoo {
bar()
}
class Foo implements IFoo {
public bar() {}
}
function func(): IFoo {
return new Foo()
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。