Mapped Type은 키를 순회하고 필요하면 이름까지 다시 만든다

keyof로 키 집합을 만들고, 각 키의 value 타입을 읽은 뒤 as 절로 key 이름을 바꿀 수 있다.

keyof T
원본 객체의 key union 생성
[K in keyof T]
각 key를 하나씩 순회
T[K]
해당 key의 value 타입 보존
as NewKey
템플릿 리터럴로 key 이름 재작성
기준해석
readonly/?modifier를 추가하거나 제거 가능
Pick/Omitmapped type과 key filtering의 대표 사례
판단객체 shape 변환은 key 순회로 읽는다

핵심 객체 shape 변환은 key 순회로 읽는다