Lodash和Underscore之间的差异.js [已关闭]
为什么有人更喜欢Lodash或Underscore.js实用程序库而不是另一个?
Lodash似乎是下划线的直接替代品,后者已经存在了更长的时间。
我认为两者都非常出色,但我对它们如何工作以进行有根据的比较还不够了解,我想知道更多关于差异的信息。
为什么有人更喜欢Lodash或Underscore.js实用程序库而不是另一个?
Lodash似乎是下划线的直接替代品,后者已经存在了更长的时间。
我认为两者都非常出色,但我对它们如何工作以进行有根据的比较还不够了解,我想知道更多关于差异的信息。
我创建 Lodash 是为了为数组、字符串、对象和对象1 提供更一致的跨环境迭代支持。此后,它已成为Underscore.js的超集,提供更一致的API行为,更多功能(如AMD支持,深度克隆和深度合并),更全面的文档和单元测试(在Node.js,RingoJS,Rhino,Narwhal,PhantomJS和浏览器中运行的测试),更好的整体性能和大型阵列/对象迭代的优化,以及自定义构建的更大灵活性 和模板预编译实用程序。arguments
由于Lodash的更新频率高于Underscore.js,因此提供了一个内部版本以确保与Underscore.js的最新稳定版本的兼容性。lodash underscore
有一次,我甚至被允许推送使用Underscore.js,部分原因是Lodash负责提出30多个问题;Underscore.js v1.4.x+ 中的登陆错误修复、新功能和性能提升。
此外,至少有三个Backbone.js样板,默认情况下包含Lodash,现在Backbone.js的官方文档中提到了Lodash。
查看Kit Cambridge的帖子,Say “Hello” to Lo-Dash,以更深入地了解Lodash和Underscore.js之间的差异。
脚注:
arguments
arguments
_.clone
_.flatten
Lodash的灵感来自Underscore.js,但现在它是一个优越的解决方案。您可以进行自定义构建,具有更高的性能,支持AMD并具有出色的额外功能。检查这个Lodash与Underscore.js jsperf和...这个关于Lodash的精彩帖子:
当您使用集合时,最有用的功能之一是速记语法:
(尽管Underscore现在也支持此语法)
var characters = [
{ 'name': 'barney', 'age': 36, 'blocked': false },
{ 'name': 'fred', 'age': 40, 'blocked': true }
];
// Using "_.filter" callback shorthand
_.filter(characters, { 'age': 36 });
// Using Underscore.js
_.filter(characters, function(character) { return character.age === 36; } );
// → [{ 'name': 'barney', 'age': 36, 'blocked': false }]
(摘自Lodash文档))