[typescript] keyof 연산자를 사용하여 객체 속성의 이름을 추출하는 방법

TypeScript에서 keyof 연산자는 객체 속성의 이름을 추출하는 데 사용됩니다. 이 연산자를 사용하여 객체의 특정 속성 이름을 동적으로 참조하거나 제약을 적용할 수 있습니다.

keyof 연산자 사용 방법

아래는 keyof 연산자를 사용하여 객체의 속성 이름을 추출하는 간단한 예제입니다.

type Person = {
  name: string;
  age: number;
  gender: string;
};

type PersonKey = keyof Person;
// PersonKey의 값은 "name" | "age" | "gender"가 됩니다.

위 코드에서 PersonKeyPerson 객체의 속성 이름들을 유니온 타입으로 정의합니다.

keyof 연산자의 활용

keyof 연산자는 다음과 같은 상황에서 유용하게 활용될 수 있습니다:

예를 들어, 아래와 같이 속성 이름을 동적으로 참조할 수 있습니다.

function getProperty<T, K extends keyof T>(obj: T, key: K) {
  return obj[key];
}

const person: Person = { name: "John", age: 30, gender: "male" };
const age: number = getProperty(person, "age");

위 코드에서 getProperty 함수는 객체 obj의 속성 key를 동적으로 참조하여 값을 반환합니다.

keyof 연산자는 TypeScript에서 강력한 타입 추론과 인텔리센스를 가능하게 하며, 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.

자세한 정보는 TypeScript 공식 문서를 참고하실 수 있습니다.