아이템 27. 함수형 기법과 라이브러리로 타입 흐름 유지하기 #
라이브러리는 타입스크립트와 조합하여 사용하면 더욱 빛을 발휘한다.
이유는 타입 정보가 그대로 유지되면서 타입 흐름(flow)가 계속 전달되기 때문이다.
즉, 타입이 추론되고 추론된 타입이 계속 사용되고, 사용되고, 사용된다.
자바스크립트의 경우 라이브러리를 쓰는 것은 ‘고려 사항’이다. #
서드파티 라이브러리 종속성을 추가할 때 신중해야 한다.
서드파티 라이브러리를 통해 시간, 비용이 많이 든다면 사용하지 않는게 나을 것이다.
타입스크립트의 경우 라이브러리를 쓰는 것은 ‘필수’이다. (매우 권장) #
타입이 ‘정확하게’ 추론된다.
= 타입 추론을 더 확실하고 정확하게 사용할 수 있다.
= 타입 정보를 참고하며 작업 가능하다.
= 시간, 비용이 대부분의 경우 단축된다.
아래는 로대시 라이브러리 사용 예시이다.
타입이 정확하고 자유롭게 추론되는 것을 확인할 수 있다.
const namesA = allPlayers.map(player => player.name) // 타입 : string[]
const namesB = _.map(allPlayers, player => player.name) // 타입 : string[]
const namseC = _.map(allPlayers, 'name') // 타입 : string[]
요약 & 정리 #
- 직접 구현하기보다는 내장된 함수, 서드파티 라이브러리를 사용하자. (매우 권장)
- 타입 흐름(타입 추론) 개선
- 가독성 개선