Live Preview
type Awaited<T> = T extends Promise<infer R> ? Awaited<R> : T;
// Your solution
// Test cases
type Case1 = MyAwaited<Promise<string>>; // stringなぜTypeScriptチャレンジを選ぶのか?
私たちのプラットフォームは、実践的なチャレンジを通じて TypeScript の型システムを学び、コアコンセプトを習得する独自の方法を提供します。
インタラクティブな学習
リアルタイムのフィードバックと型チェックを備えたブラウザ上で直接チャレンジを解決します。
段階的な学習
シンプルなチャレンジから始めて、徐々に高度な型操作へと移行します。
AI搭載
AIが生成した詳細な説明とソリューション分析で、複雑な型システムの概念理解をサポートします。
チャレンジ
型チャレンジを探索
基本的なユーティリティ型から複雑な型操作まで、あらゆるスキルレベルに対応したチャレンジがあります。
Pick
Implement the built-in Pick<T, K> generic without using it.
Implement the built-in Pick<T, K> generic without using it.
utility-types
beginner
Readonly
Implement the built-in Readonly<T> generic without using it.
Implement the built-in Readonly<T> generic without using it.
utility-types
beginner
TupleToObject
Given an array, transform it into an object type.
Given an array, transform it into an object type.
tuple
transformation
TypeScriptの型システムをマスターする準備はできていますか?
私たちのチャレンジを通じてTypeScriptスキルを向上させた何千人もの開発者に加わりましょう。