Record

henry·2025년 1월 3일

Record 문법은 TypeScript에서 사용되는 유틸리티 타입 중 하나,
객체의 의 타입을 명시적으로 정의할 때 사용
➡️ Record = 객체의 키의 타입과 값의 타입을 설정하는 도구


1. 기본 문법

Record<K, T>
  • K: 객체의 키(key)가 될 타입
  • T: 객체의 값(value)이 될 타입

예시

1. 기본 사용법

type UserRoles = Record<string, string>;
  • 키 : string 타입, 값 : string 타입인 객체를 정의
const roles: UserRoles = {
  admin: '관리자',
  user: '사용자',
  guest: '게스트',
};
  • 객체의 키(admin, user, guest)는 모두 문자열
  • 값(관리자, 사용자, 게스트)도 문자열

2. 특정 키 타입 사용법

type UserRoles = Record<'admin' | 'user' | 'guest', string>;
  • 키는 'admin' | 'user' | 'guest'중에서 하나만 사용가능 하도록 설정

추가 키는 허용되지 않으며, 누락된 키가 있어도 오류가 발생

const roles2: UserRoles = {
  admin: '관리자',
  // user: '사용자',  (❌ 오류 - user 키 누락)
  guest: '게스트',
};

// 잘못된 키 추가
const roles3: UserRoles = {
  admin: '관리자',
  user: '사용자',
  guest: '게스트',
  superAdmin: '최고 관리자',  //(❌ 오류 - 사전 정의되지 않은 superAdmin 키는 허용되지 않음)
};

2. Record 사용 이점

  • 명확성
    • 객체의 구조를 명시적으로 정의해 가독성 증가.
  • 타입 안전성
    • 존재하지 않는 키나 잘못된 값이 할당되는 것을 방지.
  • 자동 완성
    • 개발 도중 키가 자동 완성되어 실수를 사전 방지.

0개의 댓글