🧌

ユニオン型からプロパティ除外するのはOmitじゃなくてExcludeやね

2024/11/21に公開

タイトルの通りです。自分で勘違いしてたのでメモ

type User = {
  type: "general" | "admin" | "super_admin";
  name: string;
  age: number;
};

// プロパティを除外するのがOmitやね
type UserProfile = Omit<User, "type">;
// {
//   name: string;
//   age: number;
// }

// ユニオンから値を除外するのがExcludeやね
type UserTypesExcludeAdmin = Exclude<User["type"], "admin">;
// "general" | "super_admin"

Discussion