logweft.

TS-L3-017 / 매핑 타입

접두어 키 만들기

중급

문제

Prefix<T>가 T의 문자열 키 앞에 get_을 붙이고 값 타입은 유지하도록 정의하세요.

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

타입 계약

키 변환
type Check = Expect<Equal<Prefix<{name:string;age:number}>, {get_name:string;get_age:number}>>;
빈 객체
type Check = Expect<Equal<Prefix<{}>, {}>>;
힌트

매핑 타입의 as 절에서 키를 바꾸세요.

해설·정답 보기

문자열이 아닌 키는 제외하고 템플릿 리터럴로 접두어를 만듭니다.

type Prefix<T> = {[K in keyof T as K extends string ? `get_${K}` : never]:T[K]};
모르는 문법은 코드 사전에서 ↗
answer.ts타입 확인

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

풀이 결과

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

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

    어떤 기록을 찾으세요?

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