티스토리 뷰

Client/TypeScript

[TypeScript] keyof & typeof 연산자

무화과(Fig) 2024. 5. 31. 09:00

 

 

keyof 연산자는 객체 타입으로부터 프로퍼티의 모든 key들을 String Literal Union 타입으로 추출하는 연산자이다.

주의할 점은 keyof 연산자는 오직 타입에만 적용할 수 있는 연산자라는 점이다. 따라서 값과 함께 사용하려고 하면 오류가 발생한다.

 

typeof 연산자는 자바스크립트에서 특정 값의 타입을 문자열로 반환하는 연산자이다. 다른 기능은 타입을 정의할 때 사용하면 특정 변수의 타입을 추론하는 기능도 가지고 있다. 

type Person = typeof person;
// 결과
// {name: string, age: number, location:string}

const person = {
  name: "John",
  age: 25,
};

 

 

 

이러한 특징을 이용해 keyof 연산자를 다음과 같이 사용할 수 있다.

(...)

function getPropertyKey(person: Person, key: keyof typeof person) {
  return person[key];
}

const person: Person = {
  name: "이정환",
  age: 27,
};

 

 

 

출처

한 입 크기로 잘라먹는 타입스크립트

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함