この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - TypeScript タイプパズル
4. Record<K, V> を実装する
type MyRecord<K extends keyof any, V> = { [key in K]: V;};
解説:
Keyof anyを使って、オブジェクト key のタイプに制限をかけていませんが、仕様通りnumber | string | symbolのみが使用可能なため、問題ないです。K extends keyof anyを使って、オブジェクトの key が存在する場合のみVの値を持たせるようにしています。これによって、Fooのようにオブジェクトではなく{a: string}のような型指定ができなくなります。{ [key in K]: V; }は、K の全ての key に対してVの値を持つオブジェクトを示しています。