# es-toolkit 소개

es-toolkit은 일상적인 개발에서 사용하는 다양한 함수들을 모은 현대적인 JavaScript 유틸리티 라이브러리예요.

[lodash](https://lodash.com/)와 같은 다른 라이브러리와 비교했을 때, es-toolkit은 [같은 함수 기준 최대 97% 작은 번들 사이즈](./bundle-size.md)를 제공하며, [2~3배 빠른 속도로](./performance.md) 동작합니다. 최신 JavaScript API를 활용해서 현대적으로 구현한 덕분이죠.

es-toolkit은 견고한 TypeScript 타입을 내장하여 제공하며, 신뢰성을 높일 수 있도록 100% 테스트 커버리지를 목표로 하고 있습니다.

## 제공하는 기능

es-toolkit이 제공하는 기능 목록은 다음과 같습니다.

- **배열**: [uniq](./reference/array/uniq.md)나 [difference](./reference/array/difference.md)와 같이 배열을 다루기 위한 다양한 함수를 제공해요.
- **함수**: [debounce](./reference/function/debounce.md)나 [throttle](./reference/function/throttle.md)처럼 함수 호출을 다루는 도구를 제공해요.
- **숫자**: [sum](./reference/math/sum.md)이나 [round](./reference/math/round.md)처럼 숫자를 쉽게 다루는 함수를 제공해요.
- **객체**: [pick](./reference/object/pick.md)이나 [omit](./reference/object/omit.md)처럼 JavaScript 객체를 다루는 함수를 제공해요.
- **타입 가드**: [isNotNil](./reference/predicate/isNotNil.md)처럼 특정한 객체가 어떤 상태인지 검사하는 타입 가드 함수를 제공해요.
- **Promise**: [delay](./reference/promise/delay.md)와 같은 비동기 유틸리티 함수를 제공해요.
- **문자열**: [snakeCase](./reference/string/snakeCase.md)와 같이 문자열을 다루기 위한 다양한 함수를 제공해요.

## 링크

이 프로젝트에 대해서 더 많은 정보를 얻기 위해서는 아래 링크를 참고하세요.

- [GitHub](https://github.com/toss/es-toolkit)
