Partial 이란?
유틸리티 타입으로, 특정 타입의 부분 집합을 정의 할 수 있다.
Partial 타입 예제 코드
type Partial<T> = {
[P in keyof T]?: T[P];
}
type Person = {
name: string;
age: number;
address: string;
}
type PartialPerson = Partial<Person>;
// PartialPerson은
// {
// name?: string;
// age?: number;
// address?: string;
// }
// 과 같이 정의 된다.
Pick 이란?
특정 타입에서 특정 값만 뽑아 새로운 타입으로 정의 할 수 있다.
Pick 타입 예제 코드
type Pick<T, K extends keyof T> = {
[P in K]: T[P];
}
type Person = {
name: string;
age: number;
address: string;
}
type PickPerson = Pick<Person, 'name' | 'age'>;
// PickPerson은
// {
// name: string;
// age: number;
// }
// 과 같이 정의 된다.
Omit 이란?
특정 값만 제거한 타입을 정의 해준다. (pick과는 반대)
Omit 타입 예제 코드
type Omit<T, K extends keyof T> = {
[P in Exclude<keyof T, K>]: T[P];
}
type Person = {
name: string;
age: number;
address: string;
}
type OmitPerson = Omit<Person, 'age'>;
// OmitPerson은
// {
// name: string;
// address: string;
// }
// 과 같이 정의 된다.
정리
Partial<T> 은 T의 모든 값을 optional한 값으로 정의할 수 있고,
Pick<T, K> 는 T에서 K에 해당하는 값만 추출하여 새로운 타입으로 정의할 수 있고,
Omit<T, K>은 T에서 K에 해당하는 값을 제거하여 새로운 타입으로 정의할 수 있다.
728x90
'STUDY > JavaScript' 카테고리의 다른 글
모던 자바스크립트 | 암묵적 타입 변환 (0) | 2024.07.23 |
---|---|
일급객체(First Class Object) , 일급함수(First Class Function) 란? (0) | 2023.07.04 |
[TypeScript] TypeScript 할때, DT와 TS의 차이! (별로 쓸데없음 주의) (0) | 2023.01.02 |
[JavaScript] Array.prototype.reduce() | 리듀서 함수 (0) | 2022.12.02 |
[JavaScript] 서버사이드 렌더링 개념정리 (0) | 2022.11.28 |
댓글