Record 문법은 TypeScript에서 사용되는 유틸리티 타입 중 하나,
객체의키와값의 타입을 명시적으로 정의할 때 사용
➡️ Record = 객체의 키의 타입과 값의 타입을 설정하는 도구
Record<K, T>
type UserRoles = Record<string, string>;
const roles: UserRoles = {
admin: '관리자',
user: '사용자',
guest: '게스트',
};
type UserRoles = Record<'admin' | 'user' | 'guest', string>;
추가 키는 허용되지 않으며, 누락된 키가 있어도 오류가 발생
const roles2: UserRoles = {
admin: '관리자',
// user: '사용자', (❌ 오류 - user 키 누락)
guest: '게스트',
};
// 잘못된 키 추가
const roles3: UserRoles = {
admin: '관리자',
user: '사용자',
guest: '게스트',
superAdmin: '최고 관리자', //(❌ 오류 - 사전 정의되지 않은 superAdmin 키는 허용되지 않음)
};