PoppinL:
Iは、関数BのparamはオブジェクトC. Cは、そのタイプTであるDと呼ばれる性質を有する関数Bを返す関数のAを有します
私はAまたはいくつかの他の方法を呼び出すときに、私はTを設定できることを意味Bを取得するときにTが決定されます。
それでは、どのようtypescriptですでそれを定義するには?本当にありがとう。
私は仕事であろう、これを試してみました。しかし、それは私が欲しいものではありません。
interface C<T> {
d: T;
e: number;
}
interface B<T> {
(param: C<T>): void;
}
interface A<T> {
(): B<T>;
}
const a: A<number> = () => ({d, e}) => {
console.log(d, e)
};
私は多分のような何かをしたいもの:
const a: A = () => ({d, e}) => {
console.log(d, e)
};
const b1 = a<number>();
const b2 = a<string>();
私はこのことについては考えています。
JeromeBu:
あなたは、私がタイプではなく、インターフェイスを持つことクリーナーを見つけ、右のパス上にあります:
interface C<T> {
d: T;
e: number;
}
type B<T> = (params: C<T>) => void
type A = <T>() => B<T>
// or inlined : type A = <T>() => (params: C<T>) => void
const a: A = () => ({d, e}) => {
console.log(d, e)
};
const withNumber = a<number>();
const withString = a<string>();