Typescript에서는 generic을 사용하여
type이나 interface의 특성을 쉽게 바꿔주는 유틸리티 타입을 제공한다.
사용법만 알면 쉽게 사용할 수 있다.
공홈에는 20여가지의 리스트가 있는데 그 중에 자주 사용하는 몇 가지를 알아보자.
partial(부분적인) : Partial<Type>
전체를 옵셔널(optional)로 바꿔줌
Partial로 만들어진 Coordinate2 타입은
field들이 모두 optional이기때문에 compile error가 나지않음
required(필요한, 필수인) : Required<Type>
전체를 빠지면 안되는 것으로 바꿔줌
Partial과는 반대로 모든 field들을 필수로 바꿈
readonly : Readonly<Type>
읽기전용
target과는 다르게 hanaMt는 읽기전용이기때문에 재정의하면 컴파일 에러가 발생한다.
pick(선택하다) : Pick<Type, Keys>
원하는 내용만 골라서 사용가능
interface Todo {
title: string;
description: string;
completed: boolean;
}
type TodoPreview = Pick<Todo, "title" | "completed">;
const todo: TodoPreview = {
title: "Clean room",
completed: false,
};
Todo중에서 title과 completed 필드만 골라서 사용
omit(누락하다) : Omit<Type, Keys>
원하는 내용을 빼고 사용 가능
interface Todo {
title: string;
description: string;
completed: boolean;
createdAt: number;
}
type TodoPreview = Omit<Todo, "description">;
const todo: TodoPreview = {
title: "Clean room",
completed: false,
createdAt: 1615544252770,
};
Pick과 반대로 Todo에서 description을 빼고 사용
공홈에서 나머지 유틸리티 타입들을 확인할 수 있다.
'개발언어 > TypeScript' 카테고리의 다른 글
컴파일러(compiler) 설정 방법 (0) | 2021.04.16 |
---|---|
type과 interface 차이 (0) | 2021.04.16 |
제네릭 <Generic> (0) | 2021.04.15 |
타입스크립트의 객체지향 (0) | 2021.04.15 |
타입 단언 (Type Assertions) (0) | 2021.04.12 |
댓글