Partial, pick, omit 등이 있습니다.
타입의 부분 집합을 정의할때 사용할 수 있습니다.
interface User {
id: string;
name: string;
phone: string;
email: string;
}
type MyUser = Partial<User>;
const a: MyUser = {}; // 가능
const b: MyUser = { name: "정효성" }; // 가능
const c: MyUser = { name: "정효성", phone: "wjdgytjd3291@gmail.com" }; // 가능
#Pick
타입에서 몇 개의 속성을 선택하여 타입을 정의할때 사용할 수 있습니다.
interface User {
id: string;
name: string;
phone: string;
email: string;
}
type userName = Pick<User, "id" | "name">;
function displayUserName(user: userName) {
// user의 id, name만 사용할 수 있습니다.
}
#Omit
특정 속성만 제거한 타입을 정의할때 사용할 수 있습니다.
interface User {
id: string;
name: string;
phone: string;
email: string;
}
type shoppingItem = Omit<User, "phone" | "email">;
function displayUserName(user: userName) {
// user의 id, name만 사용할 수 있습니다.
}