什么是 Type Challenges? Type Challenges 是一个 由Anthony Fu开发和维护的项目。该项目的主要目标是收集 并提供有趣的 TypeScript 挑战。这些挑战不能使用运行时,必须通过使用 TypeScript 类 型系统才能解出。

这些挑战有时会很困难,尤其是如果你是类型和 TypeScript 的初学者。

所以,这个网站提供了一个地方,在那里你可以找到解出这些挑战的方法,并解释它们是如 何被解出的。如果想更深入地研究,可以阅读下方提供的参考资料。如果你通过其它方式解 出了这个挑战(不同于本网站),你可以在评论中留言。

如果你有任何疑问或发现问题,请在本仓 库提交一个 issue

现在,我建议你从”热身”开始,逐渐地向”很难”级别前进。首先,打开”挑战”链接并尝试自 己解出。如果你无法解出,请返回此处并打开”解答”。

事不宜迟,慢慢来,享受挑战!

热身

  1. Hello, World ⸱ 挑战 解答

简单

  1. Awaited ⸱ 挑战 解答
  2. Concat ⸱ 挑战 解答
  3. Exclude ⸱ 挑战 解答
  4. First of Array ⸱ 挑战 解答
  5. If ⸱ 挑战 解答
  6. Includes ⸱ 挑战 解答
  7. Parameters ⸱ 挑战 解答
  8. Pick ⸱ 挑战 解答
  9. Push ⸱ 挑战 解答
  10. Readonly ⸱ 挑战 解答
  11. Length of Tuple ⸱ 挑战 解答
  12. Tuple to Object ⸱ 挑战 解答
  13. Unshift ⸱ 挑战 解答

中等

  1. Absolute ⸱ 挑战 解答
  2. AnyOf ⸱ 挑战 解答
  3. Append Argument ⸱ 挑战 解答
  4. Append to Object ⸱ 挑战 解答
  5. BEM Style String ⸱ 挑战 解答
  6. Capitalize ⸱ 挑战 解答
  7. Chainable Options ⸱ 挑战 解答
  8. Chunk ⸱ 挑战 解答
  9. Deep Readonly ⸱ 挑战 解答
  10. Diff ⸱ 挑战 解答
  11. Drop Char ⸱ 挑战 解答
  12. EndsWith ⸱ 挑战 解答
  13. Flatten ⸱ 挑战 解答
  14. Flip Arguments ⸱ 挑战 解答
  15. Flip ⸱ 挑战 解答
  16. InOrder Traversal ⸱ 挑战 解答
  17. IsNever ⸱ 挑战 解答
  18. IsUnion ⸱ 挑战 解答
  19. Join ⸱ 挑战 解答
  20. KebabCase ⸱ 挑战 解答
  21. Last of Array ⸱ 挑战 解答
  22. LastIndexOf ⸱ 挑战 解答
  23. Length of String ⸱ 挑战 解答
  24. MapTypes ⸱ 挑战 解答
  25. Merge ⸱ 挑战 解答
  26. Mutable ⸱ 挑战 解答
  27. Omit ⸱ 挑战 解答
  28. PickByType ⸱ 挑战 解答
  29. Pop ⸱ 挑战 解答
  30. Readonly 2 ⸱ 挑战 解答
  31. Replace ⸱ 挑战 解答
  32. ReplaceAll ⸱ 挑战 解答
  33. ReplaceKeys ⸱ 挑战 解答
  34. Get Return Type ⸱ 挑战 解答
  35. StartsWith ⸱ 挑战 解答
  36. String to Union ⸱ 挑战 解答
  37. Trim Right ⸱ 挑战 解答
  38. Trim ⸱ 挑战 解答
  39. Trim Left ⸱ 挑战 解答
  40. Trunc ⸱ 挑战 解答
  41. Tuple to Nested Object ⸱ 挑战 解答
  42. Tuple to Union ⸱ 挑战 解答
  43. Type Lookup ⸱ 挑战 解答
  44. Unique ⸱ 挑战 解答
  45. Without ⸱ 挑战 解答

困难

  1. CamelCase ⸱ 挑战 解答

地狱