개발/이펙티브 타입스크립트

[이펙티브 타입스크립트+27] 함수형 기법과 라이브러리로 타입 흐름 유지하기

Junghyun Kim 2021. 8. 28. 21:07
반응형

3장 타입 추론
아이템 27 | 함수형 기법과 라이브러리로 타입 흐름 유지하기

3줄 요약
1. 타입스크립트에서는 절차형 프로그래밍보다는 함수형 프로그래밍 방식이 더 좋다.
2. 타입스크립트의 타입을 잘 추론하기 위해 'Lodash'와 같은 라이브러리를 이용하는 것이 좋다.
3. 함수 체이닝을 이용하면 코드의 가독성 또한 좋고 타입의 흐름을 잘 유지할 수 있다.

참고) 이펙티브 타입스크립트는 타입스크립트의 기본 그 이상을 다룹니다.


프로그래밍을 할 때 흔히 절차형 프로그래밍 방식이 있고 함수형 프로그래밍 방식이 있습니다.
타입스크립트에서는 절차형 프로그래밍 방식보다는 함수형 프로그래밍 방식을 사용하는 것이 더 좋다고 말할 수 있습니다.
이유는 절차형 프로그래밍에서는 타입 체크를 관리해야 하지만 함수형 프로그래밍에서는 타입의 정보가 잘 유지되어 타입의 흐름이 잘 전달되기 때문입니다. 또한, 가독성 또한 좋아집니다.

예시를 통해 살펴보겠습니다.
(1) 농구 선수들을 팀 별로 분류한다.
(2) 팀 별로 농구 선수들을 연봉 기준으로 정렬한다.
(3) 팀 별로 가장 높은 연봉을 갖는 선수들을 뽑아낸다.
(4) 팀 별로 가장 높은 연봉의 선수들을 연봉 기준으로 정렬한다.

절차형으로 구현

절차형 프로그래밍 방식에서는 가독성이 좋지않다라는 것을 느낄 수 있습니다.

함수형으로 구현.

반면에 로대시 라이브러러를 활용한 함수형 프로그래밍 방식에서는 가독성 또한 좋아지고 '체인' 방식을 통해서 반환 값들의 타입이 잘 전달되는 것을 확인할 수 있습니다.

 

 

Materials From
1. <이펙티브 타입스크립트>(댄 밴더캄 지음, 장원호 옮김, 인사이트 2021)
2. 타입스크립트 공식 홈페이지 | https://www.typescriptlang.org/

 

Typed JavaScript at Any Scale.

TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before you even run your code.

www.typescriptlang.org

 

반응형