为什么这些库以 _ 命名?
它背后是否有某种意义或者原因是“只是因为我们可以”?
据我所知,underscore 和 lodash 做很多类似的事情。此外,这两个名称都指向 _
连他们的变量名都是_
那么 _ 与这些库的工作有什么关系吗?还是只是一个名字?
最佳答案
Lodash
根据我对两者历史的理解,lodash
是下划线的轻量级替代品。所以 lodash
实际上是下划线的文字游戏 - “低破折号”,当破折号 -
离地面有点低时看起来像什么? _
为什么,当然是下划线
所以这涵盖了 lodash
尽可能详细的内容。
下划线
Underscore 的起源只是猜测 - 但我会做出猜测。
回到 Javascript 的“黄金时代”,当强大的 JQuery
占据统治地位时,小型(当时)实用程序库开始出现 - 但我们当时没有的东西(或不为人知)是用于导入和需要外部库的简单构造。
非常像 JQuery
将其所有功能分组在一个巨大的 $
对象下 - 下划线(我猜)想要相同。为什么?可能是为了简洁和 l33t 因素。特别是在大多数人只是在页脚中包含一堆脚本标签的日子里。如果您正在查看实用程序库主页,那么什么更吸引您:
// totes l33t
_.map(a, function(e) { ... }
// pfft, no thanks grandpa
underscore.map(a, function(e) { ... }
但是为什么_
。在 $
之后,它是剩下的几个很酷的简称之一:
An identifier must start with $, _, or any character in the Unicode categories “Uppercase letter (Lu)”, “Lowercase letter (Ll)”, “Titlecase letter (Lt)”, “Modifier letter (Lm)”, “Other letter (Lo)”, or “Letter number (Nl)”.
关于node.js - 为什么名称为 'underscore' 或 'lodash' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38006384/