Avatar ·

Lodash 和 Underscore.js 有什么区别?该选哪个?

大家好!我是 JavaScript 新手,刚开始学习用于处理数据的辅助库。我经常看到项目中要么用 Lodash,要么用 Underscore.js。它们看起来非常相似:都提供像 `_.map`、`_.filter`、`_.reduce`、`_.cloneDeep` 等函数。 我在一个简单例子上试了这两个库: ```javascript // Underscore const data = [{id: 1, name: 'Alice'}, {id: 2, name: 'Bob'}]; const result = _.findWhere(data, {name: 'Alice'}); // Lodash const result2 = _.find(data, {name: 'Alice'}); ``` 看起来几乎一样。但我听说 Lodash “更快”且“更现代”,而 Underscore 是“经典”。我不明白: 1. API 具体有哪些区别?有没有只存在于其中一个库的函数? 2. Lodash 真的更快吗?如果是,原因是什么? 3. 大小和依赖方面呢?Underscore 更小吗? 4. 2025 年新项目应该选哪个库? 我想知道应该关注什么。