この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - TypeScript タイプパズル
39. implement ToNumber<T>
type ToNumber<T extends string> = T extends `0` ? 0 : T extends `1` ? 1 : T extends `2` ? 2 : T extends `3` ? 3 : T extends `4` ? 4 : T extends `5` ? 5 : T extends `6` ? 6 : T extends `7` ? 7 : T extends `8` ? 8 : T extends `9` ? 9 : never;type A = ToNumber<'1'> // 1type B = ToNumber<'40'> // 40type C = ToNumber<'0'> // 0
トップレベルの条件分岐は、入力された文字列が 0-9 のどれであるかを確認するものです。
ToNumber<>
は、実際の数値型と同様の方法で数値を表します。例えば、文字列40
はToNumber<>
で40
と評価されます。