TS-L3-031 / 튜플 타입 연산
튜플 첫 원소
중급문제
First<T>가 비어 있지 않은 readonly 튜플의 첫 원소, 빈 튜플은 never가 되게 정의하세요.
요구한 타입·변수 이름을 유지하세요. 각 타입 계약이 컴파일되는지를 확인합니다. 코드를 실행하는 문제는 아닙니다.
타입 계약
첫 타입
type Check = Expect<Equal<First<readonly ["a",2]>, "a">>;
빈 튜플
type Check = Expect<Equal<First<[]>, never>>;
힌트
튜플을 첫 원소와 나머지로 패턴 매칭하세요.
해설·정답 보기
단순 인덱스 접근과 달리 빈 튜플의 결과를 명시적으로 never로 정의합니다.
type First<T extends readonly unknown[]> = T extends readonly [infer H,...unknown[]] ? H : never;
answer.ts타입 확인
코드는 이 브라우저에 자동 저장돼요.
풀이 결과
코드를 작성하고 채점하기를 눌러보세요.
학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.