MST

星途 面试题库

面试题:TypeScript模板字面量模式匹配之基础应用

请使用TypeScript的模板字面量模式匹配,实现一个类型工具 `ReplaceAll<S, From, To>`,它接收三个类型参数:字符串类型 `S`,需要被替换的子字符串类型 `From`,用于替换的子字符串类型 `To`,返回替换后的新字符串类型。例如:`ReplaceAll<"foobar", "bar", "baz">` 应返回 `"foobaz"`。
30.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
type ReplaceAll<S extends string, From extends string, To extends string> =
    From extends ''
      ? S
       : S extends `${infer Left}${From}${infer Right}`
          ? `${Left}${To}${ReplaceAll<Right, From, To>}`
           : S;