在 JavaScript 中,下划线前缀只是一种约定,就像在 Python 中私有类方法一样吗?
来自 Python 2.7 文档:
Python 中不存在除了对象内部无法访问的“私有”实例变量。但是,大多数 Python 代码都遵循以下约定:以下划线为前缀的名称(例如 _spam)应被视为 API 的非公共部分(无论它是函数、方法还是数据成员)。
这个约定适用于 JavaScript 吗?
比如这段 JavaScript 代码:
function AltTabPopup() {
this._init();
}
AltTabPopup.prototype = {
_init : function() {
...
}
}
此外,还使用了下划线前缀变量。
...
this._currentApp = 0;
this._currentWindow = -1;
this._thumbnailTimeoutId = 0;
this._motionTimeoutId = 0;
...
只是惯例吗?还是下划线前缀背后还有更多东西?
我承认我的问题与这个问题非常相似,但它并没有让人更加了解JavaScript中下划线前缀的重要性。