minstudio

유틸리티 타입 1 (기존 타입 변형하기)

이미 만들어둔 인터페이스나 타입을 재활용하기 위해 TS가 기본 제공하는 내장 마법 도구들입니다. Partial은 필수 항목들을 전부 옵션으로 느슨하게 풀어주고, Readonly는 모든 값을 얼려버립니다.

🛠️ 유틸리티 타입의 작동 원리 1 (변형) 원본 타입 (단단한 벽돌) id: number name: string + Partial<T> 모든 항목을 선택(?)으로 id?: number name?: string Readonly<T> 모든 값을 꽁꽁 얼리기 readonly id: number readonly name: string
interface User { name: string; age: number; }

// 1. Partial<T>: 모든 속성을 선택적(?)으로 바꿔줌 (업데이트 API 짤 때 유용)
type PartialUser = Partial<User>; // { name?: string; age?: number; }

// 2. Readonly<T>: 모든 속성을 수정 불가 상태로 잠가버림
type ReadonlyUser = Readonly<User>;

// 3. Record<K, T>: 객체의 Key와 Value 타입을 한방에 정의함
// 키는 무조건 string, 값은 무조건 숫자(점수)인 객체
type Scores = Record<string, number>;
const mathScore: Scores = { "민수": 100, "철수": 85 };
유틸리티 타입 1 (기존 타입 변형하기) | Minstudio