MST

星途 面试题库

面试题:TypeScript字符串类型与递归类型的复杂结合应用

实现一个递归类型`ParseStringToUnion`,它接受一个字符串类型`S`,返回一个联合类型,该联合类型由字符串`S`按顺序分割出的所有子字符串组成。例如,对于`type Input = 'abc'`,`ParseStringToUnion<Input>`应得到`'a' | 'ab' | 'abc'`。注意,要处理任意长度的字符串,且代码要符合TypeScript类型系统的规则和最佳实践。
46.5万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
type ParseStringToUnion<S extends string, Acc extends string = ''> = 
    S extends `${infer Head}${infer Tail}` 
      ? ParseStringToUnion<Tail, `${Acc}${Head}`> | `${Acc}${Head}`
       : Acc;