比如
const _ = require('lodash')
为什么不给它起名字, 要用 _ ?
我可以多个包引入都用 _么? 还是一个文件里只能用一次 _?
另外
if (_.includes(process.argv, '-h') || _.includes(process.argv, '--help')) {
help()
process.exit(0)
}
后面这里用到了 _.includes, 和前面那个 require 是因果关系么?
1
ohoh 2021-03-25 17:15:07 +08:00
这不就是起了个名字吗, 你将 _ 定义为 dog 也行啊, 后面就是 dog.includes()
|
2
morethansean 2021-03-25 17:16:41 +08:00
"low dash",而且本身由来好像也是 a lightweight alternative to "underscore" 吧? No offense 但老哥你这问题提得有点让人觉得是不是应该先学一下 js 啊?😂
|
3
nbhaohao 2021-03-25 17:17:32 +08:00 1
_ 本身只是一个符合 JavaScript 变量命名的一个名字,因为有些库被非常多的人使用,所以库在开发出来后,官方文档种的例子中给它取了个“官方的名字”,比如 jQuery 就会是 `const $ = require('jQuery')`,当然 jQuery 不能在 nodejs 中使用,不过这里只是一个例子。以后看到 `$` 就会想到 jQuery 。
总结来说,是一种约定俗成,以后你在任何项目种看到 _ 这个名字的时候,就会想到:哦,这个项目使用了 lodash 。 当然你不喜欢,换个文字完全是一样的。 另外根据你的「为什么不给它起名字, 要用 _ ?」描述,说明楼主也知道 “_” 表示忽略这个参数,即不得已产生的变量,大家可以忽略它,这也是一种约定俗成。 所以 "_" 是一个变量名,而这个变量指向一个对象,所以就可以调用它的 `includes` 方法 |
5
zythum 2021-03-25 19:03:47 +08:00
@DinoStray 只是约定俗成的名字,lowDash 是一个 api 仿照 underscore 的库,你看这两个库的名字,不就是下划线嘛... > _ <
|
6
SoloCompany 2021-03-25 21:10:58 +08:00
underscore 这个词语就是 '_' 符号
dash 则是 '-' 符号 lodash 这个词语是造出来的, 就是 lo-dash 相当于 '-' 符号往下降低一些就是 '_' 了 |