TS-L2-025 / 타입 좁히기
구별 유니온 도형
초급문제
Shape를 원 또는 직사각형의 구별 유니온으로 정의하세요. 원은 kind:"circle", radius:number이고 사각형은 kind:"rect", width:number입니다.
요구한 타입·변수 이름을 유지하세요. 각 타입 계약이 컴파일되는지를 확인합니다. 코드를 실행하는 문제는 아닙니다.
타입 계약
원 분기
type Check = Expect<Equal<Extract<Shape,{kind:"circle"}>, {kind:"circle";radius:number}>>;사각형 분기
type Check = Expect<Equal<Extract<Shape,{kind:"rect"}>, {kind:"rect";width:number}>>;힌트
공통 kind 속성의 리터럴로 분기를 나누세요.
해설·정답 보기
각 분기에 필요한 속성만 배치합니다. kind를 string으로 넓히면 안전한 좁히기가 어려워집니다.
type Shape = {kind:"circle";radius:number}|{kind:"rect";width:number};answer.ts타입 확인
코드는 이 브라우저에 자동 저장돼요.
풀이 결과
코드를 작성하고 채점하기를 눌러보세요.
학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.