NodeJS中的双下划线与单下划线之间的区别

6

我在使用nodeJS时遇到了两种不同的命名约定。有些变量以单个下划线开头,比如_temp,而有些则以双下划线开头,比如__dirname

我一直在尝试寻找答案来解释这种命名约定的差异。我查看了Double Underscore in front of a variable但是答案只涉及__dirname__filename,没有解决这种矛盾的命名约定问题。

如果有人能够为我提供相关资源那就太好了。

2个回答

8

虽然我对Node.js还很陌生,但我在Node.js文档中找到了答案。请参考Node.js - Globals以了解更多详情。

就像上面提到的,单下划线变量(_private)用于定义私有变量。

在Node.js中,双下划线(__)没有任何约定。只有两个全局对象带有双下划线。

__dirname:用于获取当前正在执行的脚本所在目录的名称。

__filename:用于获取正在执行的代码的文件名。


7

我可能是错的,但据我所知,在JavaScript中只有一种约定:“如果方法或变量应该是私有的,请在其前面使用下划线- _privateMethod”。甚至这个约定也算是“非官方”的。双下划线不是一种命名约定,只是一些Node开发者决定这样命名。


我怀疑,有一种想法认为单个下划线应该保留给开发人员添加私有属性,因此作为一个框架,Express决定使用双下划线来避免与任何单下划线属性的冲突,他们的开发人员可能正在使用。但是,正如你所说,这方面没有“官方”指南。 - jfriend00

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接