关于ts中类型声明的疑问

看到这样的一个代码片段

get client(): Client {
    if (!this._key) {
      throw new this.AccountError("Provide an API key with tinify.key = ...")
    }

    if (!this._client) {
      this._client = new this.Client(this._key, this._appIdentifier, this._proxy)
    }

    return this._client
  }

其中Client是一个classFunction
我的疑问
1.ts里变量声明:如果是对象的话是会用interface进行声明的,那么如果返回值是函数是话一般怎么声明?
2.上面的代码片声明的返回类型是Client是一个function,但是实际返回的是new this.Client()得到的实例对象,为什么这样没问题?

阅读 3k
1 个回答

1.返回值是函数可以不声明,也可以声明为Function;
2.你理解反了,实际上是返回值是Client类型的实例而不是Client本身

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏