首页 > 解决方案 > `underscore`和`lodash`的`escape`和`unescape`功能一样吗?

问题描述

escape和的unescape功能相同吗?那么我可以使用和使用并始终获得相同的字符串吗?underscorelodashescapelodashunescapeunderscore

我可能想从原版https://stackoverflow.com/a/12034334/1707015切换到https://stackoverflow.com/a/18756038/1707015并且必须连接不同的组件。

标签: lodashunderscore.js

解决方案


除了 Underscore 避开反引号而 Lodash没有这一事实之外,它们的用途相同并且可以互换。

您链接到的第二个答案包含一个注释,即 Lodash 提供与 Underscore 相同的 API,但编写得更高效。我应该指出,这句话不再是真的,如果它曾经是的话。

从一开始,Lodash 就与 Underscore 有很大的不同,每个主要版本都引入了更多的重大变化。尽管许多功能仍然大致相同(例如escape),但如今这些库通常不可互换。

性能优势也应该有所保留。虽然 Lodash 确实比 Underscore 更优先考虑性能,但大多数应用程序不会注意到差异,并且还有一些轶事证据表明应用程序实际上使用 Underscore 会更快一些。Lodash 也比 Underscore 大四倍。因此,对于基于性能的决策,您应该使用这两个库对您的应用程序进行基准测试(这通常并不容易,因为它们不能完全互换),然后权衡速度差异与大小差异。

所以明智地选择!

全面披露:我是 Underscore 的维护者。


推荐阅读