TS-L3-004 / 조건부 타입
분배 조건부 타입
중급문제
Flatten<T>가 배열이면 원소, 나머지는 자기 자신인 분배 조건부 타입을 정의하세요.
요구한 타입·변수 이름을 유지하세요. 각 타입 계약이 컴파일되는지를 확인합니다. 코드를 실행하는 문제는 아닙니다.
타입 계약
유니온 분배
type Check = Expect<Equal<Flatten<string[]|number>, string|number>>;
튜플 원소
type Check = Expect<Equal<Flatten<[1,2]>, 1|2>>;
힌트
조건 왼쪽이 단독 타입 매개변수이면 유니온에 분배됩니다.
해설·정답 보기
각 유니온 멤버에 조건을 따로 적용한 뒤 결과를 다시 합칩니다.
type Flatten<T> = T extends readonly (infer E)[] ? E : T;
answer.ts타입 확인
코드는 이 브라우저에 자동 저장돼요.
풀이 결과
코드를 작성하고 채점하기를 눌러보세요.
학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.