타입 챌린지 28333 - Public Type

소파의 벨로그·2025년 6월 2일

타입챌린지

목록 보기
102/131

문제 링크

문제

주어진 타입 T에서 _로 시작하는 키를 지우세요

Remove the key starting with _ from given type T.

내 풀이

type PublicType<T extends object> = {[R in keyof T as R extends `_${string}`?never:R]:T[R]}

간단한 문제이다.

mapped type을 이용해 T를 순회하면서 {R:T[R]}형태로 반환한다.

이때, as를 이용해 R을 재매핑 해준다. R이 _${string}으로 시작한다면, never를 통해 키값으로 사용할 수 없게하고,
그렇지 않다면 R을 사용하는 방식으로 구현하였다.

0개의 댓글