この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - TypeScript タイプパズル
16. implement FirstChar<T>
type FirstChar<T extends string> = T extends '' ? never : T extends `${infer F}${infer R}` ? F : never;
T
の型パラメーターは文字列型であることを制約する。- もし
T
が空文字列の場合、never
を返し、そうでなければ、先頭の文字を取得する。 - 先頭の文字を取得するために、テンプレートリテラルを使って、
T
を先頭の文字(F
)と残りの文字列(R
)に分割する。 FirstChar
は先頭の文字F
を返す。