挑战
实现 Capitalize<T> 它将字符串的第一个字母转换为大写,其余字母保持原样。
例如
type capitalized = Capitalize<'hello world'>; // expected to be 'Hello world'解答
要获取第一个字母,我们需要用到模板字符串类型和条件类型。要把第一个字母转换成大写,可以使用内置的 Uppercase 类型。
type MyCapitalize<T extends string> = T extends `${infer First}${infer Rest}`
? `${Uppercase<First>}${Rest}`
: T;