Type Challenges をご存知でしょうか? Type Challenges は、Anthony Fu により開発・メンテナンスされているプロジェクトです。このプロジェ クトの主要な目的は、TypeScript に関する面白い課題を集め、そして提供することで す。しかし、その課題にはちょっとした特徴があります。それは、課題を解く際にランタ イムを使用することができないということです。コードを書く唯一の場所は、TypeScript の型システムの中にあります。つまり、Type Challenges は、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 ⸱ 課題 解答

中級

上級

エクストリーム