← Back to NOTES 🌰 ← Back to Effective TypeScript
← 아이템 27 - 함수형 기법과 라이브러리로 타입 흐름 유지하기
효과적인 타입 설계를 위해서는 '유효한 상태'만 표현할 수 있는 타입을 만드는 것이 가장 중요하다. 유효한 상태와 무효한 상태를 둘 다 표현하는 타입은 혼란을 초래하기 쉽고 오류를 유발하게 된다. 코드가 길어지더라도 유효한 상태만 표현하는 타입을 지향해야 시간을 절약하고 고통을 줄일 수 있다.
타입 설계 시 타입의 속성 하나하나가 유효한지가 아니라, 타입의 모든 속성이 하나의 타입으로 묶였을 때 유효한 상태인지를 고려해야 한다.
무효한 상태를 허용하는 타입
예시: 웹 페이지 로딩 상태
isLoading과 error가 동시에 true일 수 있는 상태isLoading을 false로 설정하지 않은 경우태그된 유니온 (Tagged Union) 사용