Type Challenges 中文解答及分析
Type Challenges是一个收录了 许多 TS 类型编程相关题目及解答的库, 本项目旨在对其中的问题做出全面且详细的解答和分析(使用中文!), 同时也是通过费曼学习法来提升自己的能力
第 0️⃣ 点, 你需要掌握 js 的基本语法和常用函数
第 1️⃣, 开始挑战前你需要了解 TS 的基本概念, 在此推荐 菜鸟教程的 TS 基本语法教程. 还需要 TS 编译编辑环境, 推荐使用 VSCode+npm 下载 TS, 亦可在线运行 TS 代码
其次, 最好先了解一下 TS 的高阶特性, 如泛型, keyof
, typeof
, extend
等.
在此推荐TS 官网上的英文文档
接着, 你可以前去Type Challenges 官方地址处逛逛, 看看其中的题目及规范等
最后, 参考下方目录结构, cd ./src
, 开始旅程吧
/src
目录下对每个题目建立了一个文件夹, 命名为${编号}-${题目名称}-${难度}
, 其中各个文件夹下有两个文件
README.md
中依次包含- 翻译过的题干
- 我的解答
- 详细分析
index.ts
中是最小可通过编译的代码, 其中包括- 可能存在的前置类型定义
- 翻译过的题干
- 题解
- 测试
- 1 hello world, 简单
- 4 pick, 简单
- 7 readonly, 简单
- 11 tuple to object, 简单
- 14 first of array, 简单
- 18 tuple length, 简单
- 43 exclude, 简单
- 189 awaited, 简单
- 268 if, 简单
- 533 concat, 简单
- 898 includes, 简单
- 2 return type, 中等
- 3 omit, 中等
- 8 readonly2, 中等
- 9 deep readonly, 中等
- 10 tuple to union, 中等
- 12 chainable options, 中等
- 15 last of array, 中等
- 16 pop, 中等
- 20 promise all, 中等
- 62 type lookup, 中等
- 106 trim left, 中等
- 108 trim, 中等
- 110 capitalize, 中等
- 116 replace, 中等
- 119 replace all, 中等
- 191 append argument, 中等
- 296 permutation, 中等
- 298 length of string, 中等
- 459 flatten, 中等
- 527 append to object, 中等
- 529 absolute, 中等
- 531 string to union, 中等
- 599 merge, 中等
- 610 camel case, 中等
- 612 kebab case, 中等
- 645 diff, 中等
- 949 any of, 中等
- 1042 is never, 中等
- 1097 is union, 中等
- 1130 replace keys, 中等
- 1367 remove index signature, 中等
- 1978 percentage parser, 中等
- 2070 drop char, 中等