2017-06-25 12 views
1

Typescriptで:関数の入力と出力の型を取り出す方法は?この機能のために

function first(x: number, y: string) { 
return { 
    a: x, 
    b: y 
    }; 
} 

function second(z: typeof first()) { 
    return { 
    c: 6, 
    ...z 
    } 
} 

typeof first()は、ofcourseの、無効である、

私はsecondの署名にfirstの推論された出力タイプを使用したいと思います。 それは可能ですか(驚くことはないと思っていますが)。

ありがとう!

答えて

1

いいえ、現時点では、関数の戻り値の型を抽出することはできません。

githubにスレッドがありますが、これについては説明しています。あなたはそれを見ることができますhere

すぐにできることは、最初の関数の戻り値の型と、最初の関数が受け取ったパラメータの型として使用される特定の型を定義することです。また、はっきりと理解しやすくなりました。

interface ReturnType { 
    a: number, 
    b: string 
} 
function first(x: number, y: string): ReturnType { 
    return { 
     a: x, 
     b: y 
    }; 
} 

function second(z: ReturnType) { 
    return { 
     c: 6, 
     ...z 
    } 
} 
関連する問題