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 기술을 향상시킨 수천 명의 개발자들과 함께하세요.