看到这样的一个代码片段
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()得到的实例对象,为什么这样没问题?
1.返回值是函数可以不声明,也可以声明为
Function
;2.你理解反了,实际上是返回值是
Client
类型的实例而不是Client
本身