4장 타입 설계
아이템 28 | 유효한 상태만 표현하는 타입을 지향하기
3줄 요약
1. 상태 타입을 만들 때에는 유효한 타입만을 가지고 있어야 한다.
2. 상태 타입을 만들 때에는 유니온 타입을 이용한 타입을 지향하자.
3.
참고) 이펙티브 타입스크립트는 타입스크립트의 기본 그 이상을 다룹니다.
이번 챕터에서는 타입 설계와 관한 아이템들을 다룹니다.
타입 설계를 명확하게함으로써 예상치 못한 버그가 숨어들 여지를 줄일 수 있습니다.
상태를 표현하는 타입을 만들 때에는 유효한 타입만을 가지고 있어야 합니다.
State 타입을 예시로 들어보겠습니다.
State 타입에는 a와 b 속성은 반드시 가지고 c와 d 속성은 선택적인 속성입니다.
그리고 State 타입은 3가지 상태가 있다고 가정해보겠습니다. (One / Two / Three)
먼저 지양해야 할 방식입니다.
State 타입의 속성을 그대로 모델링했습니다.
이 방법의 문제는 One / Two / Three 상태가 아닌 다른 상태를 만들어버릴 수 있습니다.
때문에 이러한 방식보다는 유효한 타입만을 가지도록 아래와 같이 만드는 것을 지향해야 합니다.
상태를 먼저 정의했습니다. (StateOne / StateTwo / StateThree)
이렇게 하면 정의되지 않는 상태 타입이 되는 것을 막을 수 있습니다.
Materials From
1. <이펙티브 타입스크립트>(댄 밴더캄 지음, 장원호 옮김, 인사이트 2021)
2. 타입스크립트 공식 홈페이지 | https://www.typescriptlang.org/
'개발 > 이펙티브 타입스크립트' 카테고리의 다른 글
[이펙티브 타입스크립트+27] 함수형 기법과 라이브러리로 타입 흐름 유지하기 (0) | 2021.08.28 |
---|---|
[이펙티브 타입스크립트+26] 타입 추론에 문맥이 어떻게 사용되는지 이해하기 (0) | 2021.08.28 |
[이펙티브 타입스크립트+25] 비동기 코드에는 콜백 대신 async 함수 사용하기 (0) | 2021.08.28 |
[이펙티브 타입스크립트+24] 일관성 있는 별칭 사용하기 (0) | 2021.08.28 |
[이펙티브 타입스크립트+23] 한꺼번에 객체 생성하기 (0) | 2021.08.28 |