logweft.

TS-L3-002 / 조건부 타입

infer 배열 원소

중급

문제

ElementOf<T>가 배열이면 원소 타입, 배열이 아니면 never가 되게 정의하세요. readonly 배열도 지원합니다.

요구한 타입·변수 이름을 유지하세요. 각 타입 계약이 컴파일되는지를 확인합니다. 코드를 실행하는 문제는 아닙니다.

타입 계약

일반 배열
type Check = Expect<Equal<ElementOf<string[]>, string>>;
readonly 튜플
type Check = Expect<Equal<ElementOf<readonly [1,2]>, 1|2>>;
배열 아님
type Check = Expect<Equal<ElementOf<number>, never>>;
힌트

readonly 배열 조건에 infer를 사용하세요.

해설·정답 보기

readonly 배열 조건은 가변 배열도 포함합니다. 튜플에서는 각 원소의 유니온이 추론됩니다.

type ElementOf<T> = T extends readonly (infer E)[] ? E : never;
모르는 문법은 코드 사전에서 ↗
answer.ts타입 확인

코드는 이 브라우저에 자동 저장돼요.

풀이 결과

코드를 작성하고 채점하기를 눌러보세요.

    학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.

    어떤 기록을 찾으세요?

    키워드를 입력하면 기록을 찾아드려요.