[typescript] 타입스크립트에서의 keyof와 typeof의 차이점

타입스크립트에서 keyoftypeof는 두 가지 다른 유형의 연산자로 사용됩니다. 이들의 사용 및 기능에 대해 알아보겠습니다.

keyof 연산자

keyof 연산자는 객체 유형에서 속성 이름의 유니온 유형(union type)을 가져옵니다.

예를 들어, 다음과 같은 인터페이스가 있다고 가정해 봅시다.

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

이때 keyof Person"name" | "age" | "address"가 됩니다.

typeof 연산자

typeof 연산자는 객체 유형의 실제 값을 가져옵니다.

예를 들어, 다음과 같이 객체가 생성되었다고 가정해 봅시다.

const person = {
  name: 'John',
  age: 30,
  address: '123 Main St',
};

이때 typeof person은 다음과 같습니다.

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

차이점

keyof 연산자는 속성 이름의 유니온 유형을 가져오고, typeof 연산자는 객체 유형의 실제 값을 가져옵니다.

따라서, keyof는 속성 이름에 대한 유니온 유형을 사용하여 속성 이름을 다룰 수 있게 해주며, typeof는 객체의 유형을 가져와서 유형을 정의하는 데 사용될 수 있습니다.

이러한 연산자들을 사용하여 타입스크립트 코드를 보다 유연하고 안전하게 작성할 수 있습니다.

결론

keyoftypeof 연산자는 객체 유형에서 다른 정보를 가져오며, 각각 유용하게 활용될 수 있습니다. 개발자는 이러한 연산자를 상황에 맞게 적절히 사용하여 타입스크립트 코드를 더욱 효율적으로 작성할 수 있습니다.