중급 TypeScript - 유틸리티 타입: Pick
유틸리티 타입: Pick
Pick
은 TypeScript에서 제공하는 유틸리티 타입으로, 특정 객체 타입의 일부 속성만을 선택하여 새로운 타입을 생성하는 데 사용됩니다. 이를 통해 코드의 재사용성과 가독성을 높일 수 있습니다.
기본 개념
- 목적:
Pick
은 주어진 객체 타입에서 원하는 속성만 골라서 새로운 타입을 만듭니다. - 형식:
Pick<T, K>
- 여기서
T
는 원본 객체 타입이고,K
는 선택하고자 하는 속성들의 키를 나타내는 문자열 리터럴 유니온입니다.
- 여기서
실용적인 예시
예를 들어, 사용자 정보를 담고 있는 인터페이스가 있다고 가정해봅시다:
interface User {
id: number;
name: string;
email: string;
age: number;
}
이제 이 인터페이스에서 id
, name
, 그리고 email
속성만 포함된 새 타입을 만들고 싶다면 다음과 같이 사용할 수 있습니다:
type UserContactInfo = Pick<User, 'id' | 'name' | 'email'>;
const user1: UserContactInfo = {
id: 1,
name: "홍길동",
email: "hong@example.com"
};
위 코드에서는 UserContactInfo
라는 새로운 타입이 만들어졌고, 이는 오직 필요한 정보인 ID와 이름 및 이메일 주소만 포함합니다. 이렇게 하면 불필요한 정보를 제외하고 필요한 데이터에 집중할 수 있게 됩니다.
장점
-
코드 간결화:
- 필요 없는 속성을 제거함으로써 더 간단하고 명확한 코드를 작성할 수 있습니다.
-
유지보수 용이:
- 나중에 인터페이스가 수정되더라도, 필요한 속성들만 가져오기 때문에 유지보수가 쉬워집니다.
결론
TypeScript의 유틸리티 타입인 Pick
은 복잡한 객체 구조 내에서 특정 필드들만 선택하여 새로운 형태로 변환할 때 매우 유용합니다. 이를 통해 개발자는 더 깔끔하고 관리하기 쉬운 코드를 작성할 수 있으며, 각 상황에 맞게 적절하게 활용하면 좋습니다.