Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 835 Bytes

DropChar.md

File metadata and controls

27 lines (18 loc) · 835 Bytes
标题 标签
DropChar(删除字符) extends,infer(继承,推断)

删除字符。

  • 创建一个 泛型 M 继承字符串类型,使用模板字符串以及 infer 关键字推断字符串 S 是否继承左右中间各拼接而成的模板字符串,如果是则递归的调用 DropChar,否则返回 S。

代码如下:

type DropChar<S, M extends string> = S extends `${infer L}${M}${infer R}`
  ? DropChar<`${L}${R}`, M>
  : S;

使用方式:

type Butterfly = DropChar<' b u t t e r f l y ! ', ' '>; // 'butterfly!'

应用场景

如下所示,鼠标悬浮到对应的类型变量可以查看类型。