TypeScript 初心者です。
React の型定義で Pick と Omit について学習したのでまとめてみました。
Pick
Pick<T, K>
は既に存在する T 型の中から K で選択したプロパティのみを含んだ新たな型を構築する。
下記の例では、User
型の name
と email
のみを含んだ UserItem
型を作成している。
type User = {
id: string;
name: string;
email: string;
address: string;
};
type UserItem = Pick<User, "name" | "email">;
// | で複数指定可
const user: UserItem = {
name: "hoge",
email: "hoge@example.com",
};
console.log(user); // => {name: "hoge", email: "hoge@example.com"}
Omit
Omit<T, K>
は既に存在する T 型の中から K で選択したプロパティを除いた新たな型を構築する。
下記の例では、User
から id
と address
を除いた UserItem
型を作成している。
type User = {
id: string;
name: string;
email: string;
address: string;
};
type UserItem = Omit<User, "id" | "address">;
const user: UserItem = {
name: "hoge",
email: "fuga",
};
console.log(user); //=> {name: "hoge", email: "hoge@example.com"}