为什么这些库以_?
命名背后是否有一些重要性或原因是“仅仅因为我们可以”?
据我所知,下划线和 lodash 做了很多类似的事情。此外,这两个名称都指向 _
即使他们的变量名称是 _
那么 _ 与这些库的工作有什么关系?或者只是一个名字?
答案 0 :(得分:11)
根据我对两者历史的理解,lodash
被认为是下划线的轻量级替代品。所以lodash
实际上是关于下划线上的文字的游戏 - "低速划线",当它稍低于地面时,短划线-
看起来像什么? _
为什么,当然是一个下划线
所以尽可能详细地涵盖lodash
。
下划线的起源只是一个猜测 - 但我会猜测。
"回到黄金时代" Javascript,当强大的JQuery
统治至高,小(当时)实用程序库开始出现时 - 但我们当时没有做过的事情(或者不为人所知)很简单用于导入和需要外部库的构造。
非常像JQuery
将所有功能分组到一个巨大的$
对象下 - 下划线(我猜)想要一样。为什么?可能为了简洁和l33t因素。特别是在大多数人只是在页脚中包含一堆脚本标签的日子里。如果您正在查看实用程序库主页,那么更吸引您的是:
// totes l33t
_.map(a, function(e) { ... }
// pfft, no thanks grandpa
underscore.map(a, function(e) { ... }
但为什么_
。好吧$
之后,它留下了一些很酷的短名称:
标识符必须以$,_或Unicode中的任何字符开头 类别“大写字母(Lu)”,“小写字母(Ll)”, “Titlecase letter(Lt)”,“Modifier letter(Lm)”,“Other letter(Lo)”, 或“字母编号(Nl)”。