2017-02-26 17 views
0

ここに関数または値があるかどうかを確認する方法はありますか?汎用関数型ガード

function f<T>(valueOrFunction : T | (()=>T)) { 
    if(typeof valueOrFunction === "function") { 
    // Got a function 
    } else { 
    // Still 'T | (()=>T)' 
    // Wanted: to get 'T'. 
    } 
} 
+0

あなたの期待は何ですか?あなたの投稿を読んで、十分な情報を伝えているかどうか、関連するコンテンツで更新しないかどうか確認してください。 – Aravind

答えて

0

すべてが意図したとおりに動作します。 コードが間違っていると考える「Resharper」でした。

+0

'T 'のタイプが関数だったらどうしたらいいですか? –

+0

私はそれが関数である必要はありません、私はこの制限で暮らすことができます。 –