Will find a way
[Record] 타입 정의 (React 프로젝트를 하면서) 본문
들어가기 전
React 프로젝트 진행중 객체의 상태관리를 필요로 하던 중 Record라는 타입정의 하는 법을 알게 됐다.
오늘은 Record가 뭔지 간단하게 알아 보겠다.
Record란 무엇인가?
타입스크립트에서 객체의 타입을 정의할 때 자주 쓰이는 유틸리티 타입이다.
기본 문법
Record<Key's type, Value's type>
Key's type : 객체의 키 데이터 타입 / Value's type : 객체의 값의 데이터 타입
예시 1 (문자열 키에 불리언 값)
const checks: Record<string, boolean> = {
age: true,
terms: false,
privacy: true,
};
// 다음과 같다
type Checks = {
[key: string]: boolean;
}
예시 2 (특정 키들만 허용)
type TermKey = 'age' | 'terms' | 'privacy';
const checks: Record<TermKey, boolean> = {
age: true,
terms: false,
privacy: true,
};
// "age", "terms", "privacy"만 키로 허용되고
// 값은 모두 boolean
쓰이는 곳
1) 동적으로 키를 처리해야 하는 객체 타입
2) reduce로 객체 누적할 때 초기 타입 설정
3) Map처럼 키-값 구조를 타입으로 선언하고 싶을 때
'Language > Typescript' 카테고리의 다른 글
Zod : 타입 정의와 데이터 검증을 더 쉽게 한다? (0) | 2025.05.10 |
---|---|
AxiosResponse<T> (Promise랑 뭐가 다른데?!) (0) | 2025.05.08 |
[TS] 전략패턴 (0) | 2024.05.02 |
[TS] 타입 어서션 / 타입 앨리어스 / 클래스 수정자 / 제네릭 (0) | 2024.04.29 |
[TS] interface & class (0) | 2024.04.24 |