T의 모든 프로퍼티를 읽기 전용(재할당 불가)으로 바꾸는 내장 제네릭 Readonly를 이를 사용하지 않고 구현하세요.
type MyReadonly<T> = {readonly [K in keyof T]:T[K]}
Mapped Type을 활용하여 T[keyof T]인 모든 값들을 readonly로 만들어주었다
type MyReadonly<T> = Readonly<T>
이런 재밌는 코드도 있었다.
재귀를 활용하여 deepReadOnly를 구현한 사람이 있을 것 같았는데 의외로 높은 좋아요를 가진 글에는 해당 방식이 없었다.