📅  最后修改于: 2023-12-03 14:44:41.862000             🧑  作者: Mango
在 Node.js 中,有时可以看到一些变量名前面带有双下划线 __
,这是什么意思呢?在本文中,我们将讨论这个问题。
在 JavaScript 中,没有私有变量的概念。因此,如果你在一个模块中定义了一个变量,其他模块仍然可以访问该变量。有时,这并不是我们期望的行为。为了防止被其他模块访问,我们可能会使用一些命名约定来表示这个变量是私有的。
其中一个命名约定就是在变量名前加上双下划线 __
。这个约定并不是 JavaScript 语言的一部分,而是一种常见的编程实践。双下划线表示这是一个私有变量,不应该被外部代码访问。
在 Node.js 中,双下划线一般用来表示私有变量。例如:
function MyClass() {
this.__privateVar = 0;
}
MyClass.prototype.incrementPrivateVar = function () {
this.__privateVar++;
};
在上面的代码中,MyClass
的实例会有一个私有变量 __privateVar
,该变量只能在 MyClass
的方法中被访问。
需要注意的是,双下划线并不是强制规定,也不是一种语言特性,而是一个约定。因此,并不能保证所有开发者都会遵守这个规则。如果你使用了一个第三方模块,你并不能保证该模块中的所有变量都遵循这个约定。
在 Node.js 中,双下划线一般用来表示私有变量。虽然这不是一种语言特性,但是这个约定被广泛应用于 Node.js 社区中。如果你想在自己的代码中使用私有变量,可以考虑使用双下划线来表示。但需要注意的是,这个约定并不是强制的,也不能保证所有开发者都会遵守这个规则。