私は TypeScript を初めて使用しており、クラスが 2 つあります。親クラスには次のものがあります:
abstract class Component {
public deps: any = {};
public props: any = {};
public setProp(prop: string): any {
return <T>(val: T): T => {
this.props[prop] = val;
return val;
};
}
}
子クラスには次のものがあります:
class Post extends Component {
public toggleBody: string;
constructor() {
this.toggleBody = this.setProp('showFullBody');
}
public showMore(): boolean {
return this.toggleBody(true);
}
public showLess(): boolean {
return this.toggleBody(false);
}
}
showMore と ShowLess の両方で、「呼び出しシグネチャがない型の式を呼び出すことはできません」というエラーが発生します。
しかし、setProp が返す関数には呼び出しシグネチャがあると思いますか? 関数の型付けに関する重要な点を誤解していると思いますが、それが何なのかわかりません。
ありがとう!
ベストアンサー1
返される関数には呼び出しシグネチャがありますが、: any
シグネチャを追加することで、Typescript にそれを完全に無視するように指示しました。