August 21, 2021
본 내용은 인프런에서 캡틴판교님의 타입스크립트 강의를 듣고 정리한 것입니다.
특정 타입에서 필요한 부분을 뽑아쓸 때 사용한다.
interface Product {
id: number
name: string
price: number
brand: string
stock: number
}
function fetchProducts(): Promise<Product[]> {} // 여기선 Product가 그대로 사용.
// 아래의 경우 Product의 일부만 필요할 때에 사용한다.
// interface ProductDetail {
// id: number;
// name: string;
// price: number;
// }
// id,name,price만 있는 interface를 만들수도 있지만 아래처럼 Pick을 사용하여 필요한 부분만 뽑아서 사용할 수 있다.
type shoppingItem = Pick<Product, 'id' | 'name' | 'price'>
function displayProductDetail(shoppingItem: ShoppingItem) {}
특정 타입에서 사용할 것을 제외하고 쓰겠다!! Pick과는 반대되는 개념이다.
interface AddressBook {
name: string
id: number
address: string
company: string
}
// Omit<특정 타입, 제외할 속성>
const phoneBook: Omit<AddressBook, 'address'> = {
name: 'sarah',
id: 0,
company: '한국',
}
const chingtao: Omit<AddressBook, 'address' | 'compnay'> = {
name: 'sarah',
id: 1,
}