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 年新项目应该选哪个库?
我想知道应该关注什么。