🟦 2.5 ユーティリティ型(Partial, Pick, Omit, ReturnType, Parameters


✅ 【要点】

わざわざ新しく型を書き直さなくていい → 保守が楽 / 型の重複が減る!


🟢 Partial → 「全部オプションにする」

interface User {
  id: number;
  name: string;
  age: number;
}

// Partial を使うと全部 ? になる
type UserUpdate = Partial<User>;

const user1: UserUpdate = {
  name: 'Alice', // id や age がなくてもOK!
};

元の型 Partial でどう変わる?
id: number; name: string; age: number; id?: number; name?: string; age?: number;

🎯 「変更する時は一部だけ渡したい」 → よく使う!


🟠 Pick → 「必要なものだけ選ぶ」

interface User {
  id: number;
  name: string;
  age: number;
}

// id と name だけ使いたい
type UserSummary = Pick<User, 'id' | 'name'>;

const user2: UserSummary = {
  id: 1,
  name: 'Alice',
};

✅ 「この中からコレとコレだけ欲しい!」という時。


🟣 Omit → 「これだけ除きたい」

interface User {
  id: number;
  name: string;
  age: number;
}

// age だけ除きたい
type UserWithoutAge = Omit<User, 'age'>;

const user3: UserWithoutAge = {
  id: 1,
  name: 'Alice',
};