Czy prefiks podkreślenia w JavaScript jest tylko konwencją, jak na przykład w metodach klasy prywatnej Python?
Z dokumentacji języka Python 2.7:
„Prywatne” zmienne instancji, do których dostęp jest możliwy tylko z wnętrza obiektu, nie istnieją w Pythonie. Istnieje jednak konwencja, po której następuje większość kodu w języku Python: nazwa poprzedzona znakiem podkreślenia (np. _Spam) powinna być traktowana jako niepubliczna część interfejsu API (niezależnie od tego, czy jest to funkcja, metoda czy element danych) .
Czy dotyczy to również JavaScript?
Weźmy na przykład ten kod JavaScript:
function AltTabPopup() {
this._init();
}
AltTabPopup.prototype = {
_init : function() {
...
}
}
Wykorzystywane są również zmienne z prefiksem podkreślenia.
...
this._currentApp = 0;
this._currentWindow = -1;
this._thumbnailTimeoutId = 0;
this._motionTimeoutId = 0;
...
Tylko konwencje? A może kryje się za tym prefiks?
Przyznaję, że moje pytanie jest dość podobne do tego pytania , ale nie uczyniło to mądrzejszego o znaczeniu prefiksu podkreślenia w JavaScript.