实现 Trim<T>
,它接受一个明确的字符串类型,并返回一个新字符串,其中两端的空白符都已被删除
例如:
type trimed = Trim<' Hello World '> // expected to be 'Hello World'
答案
type Space = ' ' | '\n' | '\t' // 答案 1 type Trim<S extends string> = S extends `${Space}${infer R}` ? Trim<R> : S extends `${infer L}${Space}` ? Trim<L> : S // 答案 2 type Trim<S extends string> = S extends `${Space}${infer O}` | `${infer O}${Space}` ? Trim<O> : S