티스토리 뷰

타입스크립트 챌린지

CustomOmit

숨_쉬듯 2023. 9. 8. 23:54

관심을 가진 이유 

타입스크립트는 타입의 모양으로 비교하기 때문에 notation이 달라도 에러를 내뱉지 않는다. 따라서 기존 Omit에서 두 번째 파라미터 타입에 유효하지 않은 키가 입력되어도, 오타를 내도 에러를 발생하지 않는 게 불편하게 느껴졌다. 타입이 좁혀있지 않기 때문에, 원하는 프로퍼티를 복사 붙여넣기 하는 것도 불필요하게 느껴졌다. CustomOmit을 통해서, 첫 번째 파라미터로 오리지널 타입 입력하면 두 번째 파라미터 타입이 좁혀지게 구현했다.

코드 

type CustomOmit<T, K extends keyof T> = {
  [P in Exclude<keyof T, K>]: T[P];
};
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함