본론
오늘은 타입스크립트에서 자주 활용되는 Utility Types에 관하여 간단하게 정리하는 시간을 갖겠습니다.
Partial < Type >
Partial은 모든 타입을 옵셔널하게 불러옵니다.
Pick < Type, Keys >
Pick은 특정 타입의 일부분을 불러와 사용합니다. 타입의 key 값을 통해 가능합니다.
interface Todo {
title: string;
description: string;
completed: boolean;
}
type TodoPreview = Pick<Todo, "title" | "completed">;
const todo: TodoPreview = {
title: "Clean room",
completed: false,
};
Required < Type >
모든 타입을 필수 타입으로 지정합니다. 기존 속성타입이 옵셔널이었다고 하더라도, 필수 타입으로 지정됩니다.
Readonly < Type >
재할당이 되지 않는 타입으로 설정합니다.
interface Todo {
title: string;
}
const todo: Readonly<Todo> = {
title: "Delete inactive users",
};
todo.title = "Hello";
Cannot assign to 'title' because it is a read-only property.
Record < Keys, Type >
객체 형태의 타입을 지정해줍니다.
interface CatInfo {
age: number;
breed: string;
}
type CatName = "miffy" | "boris" | "mordred";
const cats: Record<CatName, CatInfo> = {
miffy: { age: 10, breed: "Persian" },
boris: { age: 5, breed: "Maine Coon" },
mordred: { age: 16, breed: "British Shorthair" },
};
cats.boris;
Omit < Type, Keys >
Omit은 선택된 Keys의 타입을 생략하고 불러옵니다.
Exclude < UnionType, ExcludedMembers >
Exclude는 유니온 타입에서 선택된 타입을 빼고 불러옵니다.
Extract < UnionType, Union >
Extract는 유니온 타입에서 불러오고자 하는 일부 유니온 타입만을 불러옵니다.
NonNullable < Type >
NonNullable은 타입 중 null과 undefined를 빼고 불러옵니다.
Parameters < Type >
함수의 파라미터에 대한 type을 가져옵니다.
InstanceType < Type >
주로 클래스의 인스턴스 형식으로 타입을 지정합니다.
class C {
x = 0;
y = 0;
}
type T0 = InstanceType<typeof C>;
type T0 = C
참조한 사이트
반응형
'Language > Typescript' 카테고리의 다른 글
React Native/Typescript 환경에서 절대경로 설정하는 방법 (0) | 2022.04.01 |
---|---|
React Native/Typescript 환경에서 데코레이터 함수 사용하는 방법 (0) | 2022.04.01 |
React 환경에서 서버로 올바른 데이터 전송하는 방법 (with Typescript) (0) | 2021.12.08 |
Typescript 환경에서 역직렬화하는 방법 (0) | 2021.11.30 |
[TypeScript] 타입스크립트 환경 설정하기 (0) | 2021.08.05 |
댓글