저장을 습관화
타입스크립트에서 자주 쓰이는 유틸리티 타입 본문
1. Partial<T>
partial: 부분적인, 불완전한
타입 T의 모든 속성을 선택적으로 만든다.
사용 예시
위 코드에서 인터페이스 Person은 name, age 두 속성을 가지고 있다
함수 updatePerson은 2번째 인자로 Partial<Person> 타입의 field를 받고 있다.
이 field의 인자가 구성될 수 있는 경우의 수는 다음과 같다.
1) name이라는 속성만 있을 것
2) age라는 속성만 있을 것
3) name, age 속성 둘 다 있을 것
이 외의 상황은 허용되지 않는다.
{ id:blah, gender: blahblah } 등 기존에 없는 속성을 넣어서는 안된다.
2. Required<T>
require: 필요하다, 요구하다
required: 필수의
모든 속성을 필수적으로 만든다.
즉, <T> 타입 객체에 정의된 모든 속성이 반드시 전부 제공되어야만 객체를 생성한다.
사용 예시
에러 메세지가 짤려서 나오는데,
'{ age: number; }' 형식의 인수는 'Required<Person>' 형식의 매개 변수에 할당될 수 없습니다.
'{ age: number; }' 형식에 'Required<Person>' 형식의 name, address 속성이 없습니다.
라고 설명하고 있다.
3. Readonly<T>
객체의 상수화, 타입 T의 모든 속성을 읽기 전용으로 만든다.
이를 통해 인터페이스 내에서 속성을 readonly 타입으로 선언하지 않았던 객체도 불변객체로 취급 가능하다.
사용 예시
4. Pick<T, K>
타입 T에서 속성 K만 선택하여 새로운 타입을 만든다.
사용 예시
5. Omit<T, K>
omit: 빠뜨리다, 누락시키다, 제외시키다, 생략하다
타입 T에서 속성 K을 제외하고 새로운 타입을 만든다.
즉, 기존 타입에서 특정 속성을 제거하고, 새 타입을 만든다.
Pick<T, K>와는 반대 동작이다.
사용 예시
이 게시글에 쓰인 유틸리티는 극히 일부이며
더 다양한 유틸리티를 확인하고 싶다면 아래 링크에서 확인 가능하다. (한글화 되어있음)
https://www.typescriptlang.org/ko/docs/handbook/utility-types.html
Documentation - Utility Types
Types which are globally included in TypeScript
www.typescriptlang.org
'공부 > TypeScript' 카테고리의 다른 글
객체 지향 프로그래밍 - 클래스 (0) | 2023.08.01 |
---|---|
TypeScript 연습 - 카페 관리 프로그램 만들기 (0) | 2023.08.01 |
타입스크립트에서의 데이터 타입 사용 방법 2 - any, unknown, union, object literal (0) | 2023.07.29 |
타입스크립트에서의 변수, 상수 선언 - let, const, readonly (0) | 2023.07.29 |
타입스크립트에서의 데이터 타입 사용 방법 - boolean, number, string, array, tuple, enum (0) | 2023.07.28 |