O prefixo de sublinhado no JavaScript é apenas uma convenção, como, por exemplo, nos métodos de classe privada do Python?
Na documentação do Python 2.7:
Variáveis de instância "privadas" que não podem ser acessadas, exceto de dentro de um objeto, não existem no Python. No entanto, existe uma convenção seguida pela maioria dos códigos Python: um nome prefixado com um sublinhado (por exemplo, _spam) deve ser tratado como uma parte não pública da API (seja uma função, um método ou um membro de dados) .
Isso também se aplica ao JavaScript?
Tomemos, por exemplo, este código JavaScript:
function AltTabPopup() {
this._init();
}
AltTabPopup.prototype = {
_init : function() {
...
}
}
Além disso, variáveis prefixadas com sublinhado são usadas.
...
this._currentApp = 0;
this._currentWindow = -1;
this._thumbnailTimeoutId = 0;
this._motionTimeoutId = 0;
...
Apenas convenções? Ou há mais por trás do prefixo de sublinhado?
Eu admito que minha pergunta é bem parecida com essa pergunta , mas não esclareceu a importância do prefixo de sublinhado no JavaScript.