[typescript] 타입스크립트에서의 keyof 연산자를 통한 변환 방식

타입스크립트는 keyof 연산자를 사용하여 객체의 key 값을 타입으로 변환할 수 있습니다. 이를 활용하면 코드의 유연성과 안정성을 높일 수 있습니다.

keyof 연산자란?

keyof 연산자는 객체 타입에서 key 값을 추출하는 역할을 합니다. 예를 들어, 다음과 같은 인터페이스가 있다고 가정해보겠습니다.

interface Person {
  name: string;
  age: number;
  address: string;
}

해당 인터페이스에 keyof 연산자를 적용하면 다음과 같이 작성할 수 있습니다.

type PersonKeys = keyof Person;
위 코드에서 PersonKeys는 **‘name’ ‘age’ ‘address’** 타입을 갖습니다.

keyof를 활용한 유틸리티 타입

keyof 연산자는 다양한 유틸리티 타입과 함께 사용될 수 있습니다. 예를 들어, 다음과 같이 Pick 유틸리티 타입을 정의할 수 있습니다.

type MyPick<T, K extends keyof T> = {
  [P in K]: T[P];
};

위 코드에서 MyPick은 객체의 일부 속성을 선택적으로 추출하는 유틸리티 타입으로 정의되었습니다.

keyof와 함께 사용하는 방법

keyof 연산자와 함께 사용하여 객체의 key 값을 타입으로 변환하는 방법은 다양합니다. 예를 들어, keyof를 사용하여 객체의 모든 key를 루프하거나, 특정 key에 해당하는 값을 추출하는 등 다양한 용도로 활용할 수 있습니다.

keyof 연산자는 타입스크립트에서 객체의 key 값을 다루는 강력한 도구로, 코드의 안정성과 유연성을 높이는 데 유용하게 활용될 수 있습니다.

결론

이러한 방식으로 keyof 연산자를 활용하여 객체의 key 값을 타입으로 변환해보았습니다. 이를 통해 코드의 가독성과 유지보수성을 향상시킬 수 있으며, 타입스크립트의 강력한 타입 시스템을 더욱 효과적으로 활용할 수 있습니다.


참고문헌: