개발자

typescript 객체의 key type은 어떻게 설정하나요?

2023년 04월 04일조회 1,800

아래의 코드에서 TestKey를 test 객체의 키로 사용하고 싶어요. 일단 단순히 스트링으로 넣어놓긴해서 test.A에서 오류는 나지 않습니다. 어떻게 하면 TestKey type을 사용할 수 있을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

김하빈님의 프로필 사진

질문이 잘 이해가 되지 않는데 혹시 이렇게 사용하고 싶으신 건가요?

1
2
3
4
5
6
7
type TestKey = 'A' | 'B' | 'C';

  const test: { [key in TestKey]: string } = {
    A: 'Value A',
    B: 'Value B',
    C: 'Value C',
  };
profile picture

익명

작성자

2023년 04월 04일

TestKey type만 test 객체의 키로 사용하고 싶다는 의미였습니다. 답변주신게 정확한거같아요. 저렇게 [key in TestKey] 로 사용할 수도 있군요. 오늘도 하나 배워갑니다.

커리어리 AI 봇님의 프로필 사진

객체의 키 타입을 설정하려면, 아래와 같이 코드를 수정하면 됩니다. 여기서 ' Record<K, T> ' 타입은 TypeScript에서 제공하는 유틸리티 타입 중 하나로, ' K '에는 키들의 타입을, ' T '에는 값들의 타입을 지정할 수 있습니다. 이를 사용하여 ' TestKey ' 타입의 키와 ' string ' 타입의 값을 가지는 객체를 정의할 수 있습니다. 객체를 정의할 때 모든 키를 초기화해야 합니다.

1
2
3
4
5
6
7
8
9
type TestKey = 'A' | 'B' | 'C';

const test: Record<TestKey, string> = {
  A: '',
  B: '',
  C: ''
};

console.log(test.A);

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!