Префикс подчеркивания для имен свойств и методов в JavaScript

Является ли префикс подчеркивания в JavaScript только соглашением, как, например, в методах частного класса Python?

Из документации Python 2.7:

«Частные» переменные экземпляра, к которым нельзя получить доступ, кроме как изнутри объекта, не существует в Python. Однако существует соглашение, которое {{1} }, за которым следует большая часть кода 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.

216
задан Community 23 May 2017 в 02:03
поделиться