【问题标题】:Why the name 'underscore' or 'lodash'?为什么命名为“下划线”或“lodash”?
【发布时间】:2016-10-26 15:49:26
【问题描述】:

为什么这些库以 _ 命名?

这背后有什么意义还是原因是“只是因为我们可以”

据我所知,underscorelodash 做了很多类似的事情。此外,这两个名称都指向 _

甚至它们的变量名都是_

那么 _ 与这些库的工作是否有某种关系?还是只是一个名字?

【问题讨论】:

  • 你为什么叫 Dushyant?那只是一个名字。一个短名称,用于对库进行命名空间。
  • 嗯,这也是有原因的。只是想知道两者都以_命名是否有原因
  • lodash 可以被认为是 underscore 的一个分支,一个轻量级的下划线版本。
  • 可能与this 推文一样,lodash 基本上是在低破折号上的文字游戏,即下划线。为什么这个?因为 JS 标识符的第一个字符必须是字母、下划线或美元符号。现在,我们都知道有人拿了 $ 所以下一个最著名的图书馆拿了 _
  • @Wajahath 是的,我得到了那个部分。但主要问题在最后一行。 “_”对这些库提供的内容有什么意义。主要是“不”。

标签: node.js underscore.js lodash


【解决方案1】:

洛达什

根据我对两者历史的理解,lodash 是作为下划线的轻量级替代品。所以lodash 实际上是对下划线文字的玩弄——“低破折号”,当破折号- 离地面有点低时会是什么样子? _ 为什么,当然是下划线

因此,它涵盖了lodash 的尽可能详细信息。

下划线

Underscore 的起源只是一个猜测——但我会做出一个猜测。

“回到 Javascript 的黄金时代”,当强大的 JQuery 统治至高无上时,小型(当时)实用程序库开始出现 - 但有一件事我们当时没有(或者做得不好) known) 是用于导入并需要外部库的简单结构。

非常像 JQuery 将其所有功能分组在一个巨大的 $ 对象下 - 下划线(我猜)想要相同。为什么?可能是为了简洁和 l33t 因素。尤其是在大多数人只是在页脚中包含一堆脚本标签的日子里。如果您正在查看实用程序库主页,您更感兴趣的是什么:

// totes l33t
_.map(a, function(e) { ... }

// pfft, no thanks grandpa
underscore.map(a, function(e) { ... }

但是为什么_。在$ 之后,它是少数几个很酷的短名称之一:

标识符必须以 $、_ 或 Unicode 中的任何字符开头 类别“大写字母(Lu)”,“小写字母(Ll)”, “大写字母 (Lt)”、“修饰字母 (Lm)”、“其他字母 (Lo)”、 或“字母编号 (Nl)”。

https://mathiasbynens.be/notes/javascript-identifiers

【讨论】:

  • 感谢您的详细解释!对于非母语人士来说,很难找出为什么“lodash”会以这种方式被调用,以及为什么每个函数都以“_”开头。搜索这个时从谷歌过来的。 Imo 这个解释应该找到en.wikipedia.org/wiki/Lodash 的方式,请考虑这个。
  • 感谢@philomatic 的高度评价!
猜你喜欢
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 2014-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-25
  • 2020-08-26
相关资源
最近更新 更多