enum타입은 가독성 높이고 명확한 상수값 정의
number, string만 사용
간단한 상수 그룹화 할때 사용
각 멤버의 값이 변하면 안됨
키 + 값의 쌍(pair)으로 구성된 객체를 정의하는 방식
어떤 타입의 값도 대입 가능
코드 사용하기 전 할당함 -> 런타임 에러 방지
enum가 달리 멤버의 값이나 데이터 타입을 맘대로 변경 가능.
복잡한 구조에 용이
interface Person {
name: string;
age: number;
}
const updatePerson = (person: Person, fields: Partial<Person>): Person => {
return { ...person, ...fields };
};
const person: Person = { name: "Spartan", age: 30 };
const changedPerson = updatePerson(person, { age: 31 });
interface Person {
name: string;
age: number;
address: string;
}
type SubsetPerson = Pick<Person, "name" | "age">;
const person: SubsetPerson = { name: "Spartan", age: 30 };