docs/zh_hans/compat/intro.md
es-toolkit/compat 提供与 Lodash 完全一致的接口和行为。它的目标是让你保留现有 Lodash 代码的调用方式,逐步迁移到 es-toolkit。
如果你的项目本来就不使用 Lodash,请使用 es-toolkit。
::: tip ✅ 自 v1.39.3 起保证与 Lodash 100% 兼容
es-toolkit/compat 直接通过 Lodash 自身的测试代码。行为完全相同,但更小、更快。
:::
// 与 lodash 相同的调用方式,可以直接在 es-toolkit/compat 中使用
import { chunk } from 'es-toolkit/compat';
chunk([1, 2, 3, 4], 0);
// 返回 [],与 lodash 相同。
从现有代码中移除 Lodash 时,推荐按以下顺序操作:
lodash / lodash-es 的 import 路径替换为 es-toolkit/compat。调用代码可以保持不变。es-toolkit。完成迁移后,你将获得更小的包体积和更快的运行速度。es-toolkit 的区别es-toolkit 只暴露类型安全的现代形态。es-toolkit 稍大、稍慢,因为内部包含了与 Lodash 对齐行为所需的额外处理。compat 中以保持兼容,但不会加入 es-toolkit。建议在迁移过程中一并清理。各函数的详细文档请参见 兼容性参考。
::: info 设计原则可能会有所变化。 :::
es-toolkit/compat 的目标是为以下功能提供与 lodash 100% 相同的实现:
@types/lodash 或 @types/lodash-es 类型推断的功能。但是,以下内容超出 es-toolkit/compat 的范围:
Array.prototype)原型的情况。_(arr).map(...).filter(...) 这样的方法链。::: info 以下表情符号表示每个功能的状态:
即使一个功能被标记为"审查中",它可能已经在审查中以确保与 lodash 完全匹配,并且可能已经提供了相同的功能。 :::
<CompatibilityStatus lang="zh_hans"/>