一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第26天,点击查看活动详情。
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~
知识运用:
- 涉及到模板字符类型。
- 涉及到infer关键字使用。
- 涉及到类型编程中递归使用。
题目分析:
题目地址:531 - String to Union
实现一个将接收到的String参数转换为一个字母Union的类型。
例如
type Test = '123';type Result = StringToUnion<Test>; // expected to be "1" | "2" | "3"
题目解答:
测试用例:
- 输入类型为空字符类型时,结果将是never;
- 当输入类型为单个字符类型时,结果将是这个字符类型
- 当输入类型为一组字符类型组成时,结果将是按字符拆开后组成的联合类型。 ```typescript / _ 测试用例 _ / import type { Equal, Expect } from ‘@type-challenges/utils’
type cases = [
Expect
<a name="EpXWc"></a>#### 答案及解析:1. <br />```typescripttype StringToUnion<T extends string> = T extends `${infer H}${infer R}` ? H | StringToUnion<R> : never;
接下来的一题是:【类型挑战】StartsWith,难度⭐️⭐️
欢迎关注我的公众号“前端小鑫同学”,原创技术文章第一时间推送。
