属性和方法名称的下划线前缀仅仅是一个约定吗?
2022-08-30 00:15:35
JavaScript 中的下划线前缀是否只是一种约定,例如在 Python 私有类方法中?
来自 2.7 Python 文档:
除非从对象内部才能访问,否则无法访问的“私有”实例变量在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中下划线前缀的重要性更聪明。