type-challenges 11日目: 2-Get Return Type

問題 & 解答

組み込みのReturnType<T>を実装する。

inferで戻り値の型を取得して、あとはいつものU or neverです。

type MyReturnType<T extends (...args: any[]) => any> = T extends (...args: any[]) => infer U ? U : never

調べたこと

ReturnType

https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype

関数Fを渡すと、その戻り値の型を返す。

type T0 = ReturnType<() => string>
// type T0 = string

感想

昨日の問題の変化系ですね。

https://ikuma-t.work/posts/type-challenge-parameters

任意の関数を示すのに、(...args: any[]) => anyがさらっと出てくるようになったのは成長の証です。

ところでMediumの問題とEasyの境目はなんなのでしょうか…。


Buy Me A Coffeeikuma-tにお恵みを!