Language/Typescript
[Typescript] 자주 쓰이는 Utility Types 정리하기
Joonfluence
2022. 2. 16. 08:24
본론
오늘은 타입스크립트에서 자주 활용되는 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
참조한 사이트
반응형