프로젝트 소개

You Don't Need Lodash/Underscore는 인기 있는 Lodash 및 Underscore 유틸리티 메서드에 대한 네이티브 자바스크립트 동등 기능을 문서화한 종합 참조 자료입니다. 이 프로젝트는 이들 인기 라이브러리가 제공하는 많은 유틸리티 함수가 이제 ECMAScript 내장 기능(ES5, ES6/ES2015 이상)으로 제공되어, 최신 브라우저를 대상으로 하는 프로젝트에서 이러한 의존성을 제거할 수 있음을 보여줍니다. 이 가이드는 여러 범주에 걸친 메서드를 다룹니다: - **배열**: chunk, compact, concat, difference, drop, fill, find, flatten, fromPairs, intersection, slice 등 - **컬렉션**: each, every, filter, groupBy, map, reduce, sortBy, uniq 등 - **함수**: bind, debounce, throttle, partial, after - **언어**: cloneDeep, isArray, isDate, isEmpty, isNil, 타입 검사 - **객체**: assign, defaults, get, has, keys, pick, omit, toPairs - **문자열**: capitalize, trim, padStart/padEnd, startsWith, endsWith, template - **숫자**: clamp, inRange, random - **유틸리티**: times 각 항목은 Lodash/Underscore 구문과 함께 화살표 함수, 전개 연산자, Array.prototype 메서드(flat/flatMap 등), Object.fromEntries 등을 사용한 현대 자바스크립트 네이티브 대안을 보여줍니다. 브라우저 지원 표는 주요 기능의 호환성을 나타냅니다. 이 저장소는 또한 네이티브 동등 기능이 존재하는 Lodash/Underscore 사용을 자동으로 표시하는 ESLint 플러그인(`eslint-plugin-you-dont-need-lodash-underscore`)을 제공합니다. 설치 방법은 npm을 통하며, 구성은 플러그인의 권장 규칙 세트를 확장합니다. 중요한 주의사항이 명시되어 있습니다: 네이티브 메서드는 Lodash 대응 기능(예: `Object.keys` 대 `_.keys`)처럼 null 안전하지 않을 수 있으며, 일부 Lodash 함수는 네이티브 동등 기능이 다루지 않는 추가 옵션을 제공합니다. 이 목록은 1:1 비교가 아닌 실용적인 마이그레이션 지원 도구입니다. 이 프로젝트는 풀 리퀘스트를 통한 기여를 환영하며, Spectrum/Gitter에 커뮤니티 채팅을 포함합니다. 번들 크기와 의존성 수를 최소화하면서 현대 자바스크립트 관행을 유지하려는 프론트엔드 개발자, 라이브러리 작성자, 팀에게 유용합니다.