Lodashとの互換性 
tsx
// es-toolkit/compatはlodashと100%同じ動作を提供することを目指しています
import { chunk } from 'es-toolkit/compat';
// es-toolkitは元々chunkのサイズとして0をサポートしていませんでした
chunk([1, 2, 3, 4], 0);
// es-toolkit/compatはlodashと同じ[]を返しますlodashとの最大の互換性を確保するために、2つのライブラリ間のギャップを埋める互換レイヤーであるes-toolkit/compatを使用してください。
es-toolkitはスムーズなマイグレーションを保証するために、2つのライブラリ間の動作の違いがないes-toolkit/compatライブラリを開発しています。lodashと同じAPIと機能を提供し、スムーズにマイグレーションできるようサポートする予定です。
es-toolkit/compatは実際のlodashテストコードを使用してテストされます。
es-toolkit/compatは、元のes-toolkitと比較して若干のパフォーマンス低下とバンドルサイズの増加があることに注意してください。このモジュールはスムーズな移行を支援するために設計されており、移行が完了したら最適なパフォーマンスを得るために元のes-toolkitに置き換えるべきです。
デザイン原則 
INFO
デザイン原則は変更される可能性があります。
es-toolkit/compatは以下のような機能についてlodashと100%同じ機能を提供することを目指しています。
- lodashのテストケースで作成された機能
- @types/lodashまたは- @types/lodash-esの型から推論できる機能
以下のような機能はes-toolkit/compatではサポートしていません。
- 空文字列を0またはfalseに変換するような暗黙的な型変換
- sortedUniqのような特定のタイプの配列に特化した実装を持つ関数
- Array.prototypeのようなJavaScriptの組み込みオブジェクトのプロトタイプが変更された場合に対応するコード
- JavaScript Realmに対応するコード
- _(arr).map(...).filter(...)のような"Seq"メソッドを通じたメソッドチェーンのサポート
実装ステータス 
INFO
以下の絵文字は各機能の実装ステータスを示しています:
- ✅: 完了(関数は完全に実装され、lodashのテストコードで全てのテストに合格しています。)
- 📝: レビュー中(関数は実装されていますが、まだlodashのテストコードでテストされていません。)
- ❌: 未実装(関数はまだ実装されていません。)
"レビュー中"と表示されていても、完全に同じか確認しているだけですでに同じ機能を提供しているかもしれません。
"Array" メソッド
"Collection" メソッド
"Date" メソッド
| 関数名 | 実装状況 | 
|---|---|
| now | ✅ | 
"Function" メソッド
| 関数名 | 実装状況 | 
|---|---|
| after | ✅ | 
| ary | ✅ | 
| before | ✅ | 
| bind | ✅ | 
| bindKey | ✅ | 
| curry | ✅ | 
| curryRight | ✅ | 
| debounce | ✅ | 
| defer | ✅ | 
| delay | ✅ | 
| flip | ✅ | 
| memoize | 📝 | 
| negate | ✅ | 
| once | ✅ | 
| overArgs | ❌ | 
| partial | 📝 | 
| partialRight | 📝 | 
| rearg | ✅ | 
| rest | ✅ | 
| spread | ✅ | 
| throttle | ✅ | 
| unary | ✅ | 
| wrap | ❌ | 
"Lang" メソッド
"Math" メソッド
| 関数名 | 実装状況 | 
|---|---|
| add | ✅ | 
| ceil | ✅ | 
| divide | ❌ | 
| floor | ✅ | 
| max | ✅ | 
| maxBy | 📝 | 
| mean | 📝 | 
| meanBy | 📝 | 
| min | ✅ | 
| minBy | 📝 | 
| multiply | ✅ | 
| round | ✅ | 
| subtract | ✅ | 
| sum | ✅ | 
| sumBy | ✅ | 
"Number" メソッド
| 関数名 | 実装状況 | 
|---|---|
| clamp | ✅ | 
| inRange | ✅ | 
| random | ✅ | 

