Через 7 лет это может произойти довольно поздно, но я думаю, что это может быть полезно для других программистов с похожей проблемой.
Несколько дней назад я придумал следующую функцию:
{
let id = 0; // declaring with let, so that id is not available from outside of this scope
var getId = function () { // declaring its accessor method as var so it is actually available from outside this scope
id++;
console.log('Returning ID: ', id);
return id;
}
}
Это может быть полезно только в том случае, если вы находитесь в глобальной области и хотите объявить переменную, которая нигде не доступна, кроме вашей функции, которая устанавливает значение id один и возвращает его значение.