함수형 라이브러리 lodash

예전 프론트엔드 면접을 처음 봤을 때 함수형 라이브러리를 사용해 본적이 있냐고 질문을 받았었다.

그때는 함수형 라이브러리가 어떤걸 의미하는지 몰라서 동문서답을 했었는데, 지금 함수형 프로그래밍의 본질을 이해하고 생각해보니 순수 함수를 조합하는 프로그래밍에서 이러한 함수들을 직접 구현 없이 제공하는 라이브러리를 의미하는 것이었다.

그래서 찾아보니 이러한 라이브러리에는 자바스크립트에서 lodash라는 라이브러리가 있었다.

lodash

lodash는 array, object, string, collection, set, map 과 같은 자료구조를 쉽게 다룰 수 있는 기능들을 제공한다.

그래서 기존 자바스크립트에 내장된 map, reduce와 같은 기능들도 존재한다. 이러한 기존과 중복되는 기능들은 벤치마킹 성능에 따라 골라 사용하면 좋을 것 같다.

그리고 기존의 함수형 프로그래밍을 하면서 내장되지 않았던 필요한 기능들이나 throttle, debounce와 같은 기능들을 추가적으로 제공하므로 이러한 기능들을 구현할 필요 없이 선언적으로 편리하게 이용할 수 있다.