この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - TypeScript タイプパズル
13. InstanceType<T>を実装する
解答例:
type MyInstanceType<T extends new (...args: any) => any> = T extends new (...args: any) => infer R ? R : any;
説明:
MyInstanceTypeは型引数Tがnew (...args: any) => anyという型制約を持つと定義されています。T extends new (...args: any) => infer Rは、Tがコンストラクタ関数である場合にRに対応する型を推論する型パターンです。inferを使うことで、Rに型推論を依頼しています。RはTのインスタンスの型に対応するため、MyInstanceTypeはRを返します。Tがコンストラクタ関数でない場合、MyInstanceTypeはanyを返します。