問題一覧に戻る
上級高度な型
問題50: Mapped型

Mapped型を使って、既存の型から新しい型を生成する方法を学びます。オブジェクトのすべてのプロパティに対して統一的な変換を適用できます。readonlyやoptionalの追加・削除など、型の修飾子を操作する基本を習得します。

// readonlyのMapped型
interface Person {
name: string;
age: number;
}

type ReadonlyPerson = {
[K keyof Person]: Person[K];
};

// optionalのMapped型
type PartialPerson = {
[K keyof Person]: Person[K];
};