TypeScript에서의 매핑 타입은 기존 타입들을 가지고 새로운 타입을 만들 때 사용되는 강력한 도구 중 하나입니다. 매핑 타입은 기존의 타입을 변형하거나 새로운 타입을 생성하는 데 사용됩니다. 주로 제네릭 타입과 함께 사용되며, keyof와 같은 키 관련 연산자와 함께 사용되면 더욱 강력한 표현력을 얻을 수 있습니다.
다음은 몇 가지 TypeScript 매핑 타입의 예시입니다:
type OriginalType = {
name: string;
age: number;
};
type ReadonlyType = Readonly<OriginalType>;
// ReadonlyType은 { readonly name: string; readonly age: number; }와 같습니다.
type OriginalType = {
name: string;
age: number;
};
type PartialType = Partial<OriginalType>;
// PartialType은 { name?: string; age?: number; }와 같습니다.
type MyMap = Record<string, number>;
// MyMap은 { [key: string]: number }와 같습니다.
type Flags = {
isLogged: boolean;
isAdmin: boolean;
isGuest: boolean;
};
type ReadonlyFlags = {
readonly [K in keyof Flags]: boolean;
};
// ReadonlyFlags는 { readonly isLogged: boolean; readonly isAdmin: boolean; readonly isGuest: boolean; }와 같습니다.
[K in keyof Flags]:
K :
boolean;: