타입 챌린지 7 - Readonly

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

타입챌린지

목록 보기
2/131

문제 링크

문제

T의 모든 프로퍼티를 읽기 전용(재할당 불가)으로 바꾸는 내장 제네릭 Readonly를 이를 사용하지 않고 구현하세요.

내 풀이

type MyReadonly<T> = {readonly [K in keyof T]:T[K]}

Mapped Type을 활용하여 T[keyof T]인 모든 값들을 readonly로 만들어주었다

다른사람의 풀이

type MyReadonly<T> = Readonly<T>

이런 재밌는 코드도 있었다.

재귀를 활용하여 deepReadOnly를 구현한 사람이 있을 것 같았는데 의외로 높은 좋아요를 가진 글에는 해당 방식이 없었다.

0개의 댓글