Lodashとの互換性
✅ バージョン1.39.3からLodashと100%の互換性を保証します
es-toolkit/compatはLodashのすべての関数と同じように動作しながら、より軽量で高速です。
- Lodashの実際のテストコードと同じ動作を保証します。
- Storybook、Recharts、CKEditorなどの有名なオープンソースライブラリで使用され、Nuxtから推奨されています。
すべての互換性関数の詳細なドキュメントは互換性リファレンスでご確認いただけます。
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の型から推論できる機能lodashからes-toolkitにコードを移行する際に発見された機能の違い(イシューページに報告してください。)
以下のような機能は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 | ✅ |

