typescriptですインターフェイスの定義について

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>();

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=377797&siteId=1